From stdpp Require Import prelude. From Coq Require Import FinFun Lia. From VLSM.Lib Require Import Preamble ListExtras StdppListSet FinExtras. From VLSM Require Import Core.VLSM Core.VLSMProjections Core.Composition Core.Equivocation. From VLSM Require Import Core.Equivocation.NoEquivocation Core.Equivocation.FullNode Core.Equivocation.FixedSetEquivocation. From VLSM Require Import Core.SubProjectionTraces Core.ProjectionTraces. From VLSM Require Import Core.Equivocators.Common Core.Equivocators.Projections. From VLSM Require Import Core.Equivocators.MessageProperties. From VLSM Require Import Core.Equivocators.Composition.Common. From VLSM Require Import Core.Equivocators.Composition.Projections.
Section equivocators_fixed_equivocations_vlsm. Context {message : Type} {index : Type} {IndEqDec : EqDecision index} (IM : index -> VLSM message) (Hbs : forall i : index, HasBeenSentCapability (IM i)) (equivocator_IM := equivocator_IM IM) (index_listing : list index) (finite_index : Listing index_listing) (equivocating : set index) .
Definition of fixed-equivocation for states of the composition of equivocators.
Definition state_has_fixed_equivocation (s : composite_state equivocator_IM) : Prop := (equivocating_indices IM index_listing s) ⊆ equivocating. Definition equivocators_fixed_equivocations_constraint (l : composite_label equivocator_IM) (som : composite_state equivocator_IM * option message) (som' := composite_transition equivocator_IM l som) : Prop := equivocators_no_equivocations_constraint IM Hbs l som /\ state_has_fixed_equivocation (fst som').
If the starting state_has_fixed_equivocation and the transition is made
on an equivocating index, then the resulting state_has_fixed_equivocation.
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: projT1 l ∈ equivocatingstate_has_fixed_equivocation s'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: projT1 l ∈ equivocatingstate_has_fixed_equivocation s'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: projT1 l ∈ equivocating
i: index
Hi: i ∈ equivocating_indices IM index_listing s'i ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: projT1 l ∈ equivocating
i: index
Hi: i ∈ equivocating_indices IM index_listing s'
n: i ≠ projT1 li ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
x: index
v: EquivocatorLabel (IM x)
s: _composite_state equivocator_IM
om: option message
s': _composite_state equivocator_IM
om': option message
Ht: (let (si', om') := equivocator_transition (IM x) v (s x, om) in (state_update equivocator_IM s x si', om')) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: i ∈ equivocating_indices IM index_listing s'
n: i ≠ xi ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
x: index
v: EquivocatorLabel (IM x)
s: _composite_state equivocator_IM
om: option message
s': _composite_state equivocator_IM
om': option message
e: equivocator_state (IM x)
o: option message
Ht: (state_update equivocator_IM s x e, o) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: i ∈ equivocating_indices IM index_listing s'
n: i ≠ xi ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
x: index
v: EquivocatorLabel (IM x)
s: _composite_state equivocator_IM
om: option message
s': _composite_state equivocator_IM
om': option message
e: equivocator_state (IM x)
o: option message
Ht: (state_update equivocator_IM s x e, o) = (s', om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: i ∈ equivocating_indices IM index_listing s'
n: i ≠ x
H0: state_update equivocator_IM s x e = s'
H1: o = om'i ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
x: index
v: EquivocatorLabel (IM x)
s: _composite_state equivocator_IM
om, om': option message
e: equivocator_state (IM x)
Ht: (state_update equivocator_IM s x e, om') = (state_update equivocator_IM s x e, om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: i ∈ equivocating_indices IM index_listing (state_update equivocator_IM s x e)
n: i ≠ xi ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
x: index
v: EquivocatorLabel (IM x)
s: _composite_state equivocator_IM
om, om': option message
e: equivocator_state (IM x)
Ht: (state_update equivocator_IM s x e, om') = (state_update equivocator_IM s x e, om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: is_equivocating_state (IM i) (state_update equivocator_IM s x e i)
n: i ≠ xi ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
x: index
v: EquivocatorLabel (IM x)
s: _composite_state equivocator_IM
om, om': option message
e: equivocator_state (IM x)
Ht: (state_update equivocator_IM s x e, om') = (state_update equivocator_IM s x e, om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: is_equivocating_state (IM i) (s i)
n: i ≠ xi ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
x: index
v: EquivocatorLabel (IM x)
s: _composite_state equivocator_IM
om, om': option message
e: equivocator_state (IM x)
Ht: (state_update equivocator_IM s x e, om') = (state_update equivocator_IM s x e, om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: is_equivocating_state (IM i) (s i)
n: i ≠ xi ∈ equivocating_indices IM index_listing smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
x: index
v: EquivocatorLabel (IM x)
s: _composite_state equivocator_IM
om, om': option message
e: equivocator_state (IM x)
Ht: (state_update equivocator_IM s x e, om') = (state_update equivocator_IM s x e, om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: is_equivocating_state (IM i) (s i)
n: i ≠ xis_equivocating_state (IM i) (s i) ∧ i ∈ index_listingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
x: index
v: EquivocatorLabel (IM x)
s: _composite_state equivocator_IM
om, om': option message
e: equivocator_state (IM x)
Ht: (state_update equivocator_IM s x e, om') = (state_update equivocator_IM s x e, om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: is_equivocating_state (IM i) (s i)
n: i ≠ xi ∈ index_listingapply finite_index. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
x: index
v: EquivocatorLabel (IM x)
s: _composite_state equivocator_IM
om, om': option message
e: equivocator_state (IM x)
Ht: (state_update equivocator_IM s x e, om') = (state_update equivocator_IM s x e, om')
Hs: state_has_fixed_equivocation s
Heqv: x ∈ equivocating
i: index
Hi: is_equivocating_state (IM i) (s i)
n: i ≠ xIn i index_listing
If the starting state_has_fixed_equivocation and the transition is made
on the original copy, then the resulting state_has_fixed_equivocation.
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 listate_has_fixed_equivocation s'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 listate_has_fixed_equivocation s'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: i ∈ equivocating_indices IM index_listing s'i ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: i ∈ equivocating_indices IM index_listing s'i ∈ equivocating_indices IM index_listing smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)i ∈ equivocating_indices IM index_listing smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)is_equivocating_state (IM i) (s i) ∧ i ∈ index_listingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: composite_transition equivocator_IM l (s, om) = (s', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)is_equivocating_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: (let (i, li) := l in let (si', om') := equivocator_transition (IM i) li (s i, om) in (state_update equivocator_IM s i si', om')) = (s', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 l))
Hzero: projT2 l = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)is_equivocating_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
Ht: (let (si', om') := equivocator_transition (IM eqv) leqv (s eqv, om) in (state_update equivocator_IM s eqv si', om')) = (s', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)is_equivocating_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
si': equivocator_state (IM eqv)
_om': option message
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', _om')
Ht: (state_update equivocator_IM s eqv si', _om') = (s', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)is_equivocating_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om: option message
s': composite_state equivocator_IM
om': option message
si': equivocator_state (IM eqv)
_om': option message
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', _om')
Ht: (state_update equivocator_IM s eqv si', _om') = (s', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s' i)
H0: state_update equivocator_IM s eqv si' = s'
H1: _om' = om'is_equivocating_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Ht: (state_update equivocator_IM s eqv si', om') = (state_update equivocator_IM s eqv si', om')
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (state_update equivocator_IM s eqv si' i)is_equivocating_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (state_update equivocator_IM s eqv si' i)is_equivocating_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (state_update equivocator_IM s eqv si' i)
e: i = eqvis_equivocating_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (state_update equivocator_IM s eqv si' i)
n: i ≠ eqvis_equivocating_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (state_update equivocator_IM s eqv si' i)
e: i = eqvis_equivocating_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
Hi: is_equivocating_state (IM eqv) (state_update equivocator_IM s eqv si' eqv)is_equivocating_state (IM eqv) (s eqv)apply (zero_descriptor_transition_reflects_equivocating_state (IM eqv) _ _ _ _ _ Hti _ Hzero Hi).message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
Hi: is_equivocating_state (IM eqv) si'is_equivocating_state (IM eqv) (s eqv)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (state_update equivocator_IM s eqv si' i)
n: i ≠ eqvis_equivocating_state (IM i) (s i)assumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
eqv: index
leqv: vlabel (equivocator_IM eqv)
s: composite_state equivocator_IM
om, om': option message
si': equivocator_state (IM eqv)
Hti: equivocator_transition (IM eqv) leqv (s eqv, om) = (si', om')
Hs: state_has_fixed_equivocation s
li: vlabel (IM (projT1 (existT eqv leqv)))
Hzero: projT2 (existT eqv leqv) = ContinueWith 0 li
i: index
Hi: is_equivocating_state (IM i) (s i)
n: i ≠ eqvis_equivocating_state (IM i) (s i)
If a future state has fixed equivocation, then so must the current state.
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s1, s2: composite_state equivocator_IM
Hfutures: in_futures (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s1 s2state_has_fixed_equivocation s2 → state_has_fixed_equivocation s1message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s1, s2: composite_state equivocator_IM
Hfutures: in_futures (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s1 s2state_has_fixed_equivocation s2 → state_has_fixed_equivocation s1message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s1, s2: composite_state equivocator_IM
tr: list transition_item
Htr: finite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s1 s2 trstate_has_fixed_equivocation s2 → state_has_fixed_equivocation s1message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state
iom, oom: option message
l: label
Ht: input_valid_transition (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) l (s', iom) (s, oom)
IHHtr: state_has_fixed_equivocation f → state_has_fixed_equivocation sstate_has_fixed_equivocation f → state_has_fixed_equivocation s'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state
iom, oom: option message
l: label
Ht: input_valid_transition (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) l (s', iom) (s, oom)
IHHtr: state_has_fixed_equivocation f → state_has_fixed_equivocation s
Hf: state_has_fixed_equivocation fstate_has_fixed_equivocation s'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state
iom, oom: option message
l: label
Ht: input_valid_transition (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) l (s', iom) (s, oom)
IHHtr: state_has_fixed_equivocation s
Hf: state_has_fixed_equivocation fstate_has_fixed_equivocation s'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state
iom, oom: option message
l: label
Ht: input_valid_transition (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) l (s', iom) (s, oom)
Hf: state_has_fixed_equivocation fstate_has_fixed_equivocation s → state_has_fixed_equivocation s'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state
iom, oom: option message
l: label
Ht: input_valid_transition (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) l (s', iom) (s, oom)
Hf: state_has_fixed_equivocation fequivocating_indices IM index_listing s' ⊆ equivocating_indices IM index_listing smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state
iom, oom: option message
l: label
Ht: transition l (s', iom) = (s, oom)
Hf: state_has_fixed_equivocation fequivocating_indices IM index_listing s' ⊆ equivocating_indices IM index_listing sapply equivocators_transition_preserves_equivocating_indices. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM)) s f tl
s': state
iom, oom: option message
l: label
Hf: state_has_fixed_equivocation ftransition l (s', iom) = (s, oom) → equivocating_indices IM index_listing s' ⊆ equivocating_indices IM index_listing s
Composition of equivocators with no message equivocation and a
fixed set of machines allowed to state-equivocate.
Definition equivocators_fixed_equivocations_vlsm : VLSM message := composite_vlsm equivocator_IM equivocators_fixed_equivocations_constraint.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm s
i: index
Hi: i ∉ equivocatingis_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm s
i: index
Hi: i ∉ equivocatingis_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
Hs: ∃ (is : state) (tr : list transition_item), finite_valid_trace_init_to equivocators_fixed_equivocations_vlsm is s tr
i: index
Hi: i ∉ equivocatingis_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
His: initial_state_prop is
i: index
Hi: i ∉ equivocatingis_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
His: initial_state_prop is
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (is i)is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (is i)is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: state
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm s
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s i)is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state
iom, oom: option message
l: label
Ht: input_valid_transition equivocators_fixed_equivocations_vlsm l (s', iom) (s, oom)
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)
IHHtr: is_singleton_state (IM i) (s i) → is_singleton_state (IM i) (f i)is_singleton_state (IM i) (f i)assumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: state
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm s
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s i)is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state
iom, oom: option message
l: label
Ht: input_valid_transition equivocators_fixed_equivocations_vlsm l (s', iom) (s, oom)
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)
IHHtr: is_singleton_state (IM i) (s i) → is_singleton_state (IM i) (f i)is_singleton_state (IM i) (f i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state
iom, oom: option message
l: label
Ht: input_valid_transition equivocators_fixed_equivocations_vlsm l (s', iom) (s, oom)
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state
iom, oom: option message
l: label
Hfixed: state_has_fixed_equivocation (composite_transition equivocator_IM l (s', iom)).1
Ht: transition l (s', iom) = (s, oom)
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: _composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': _composite_state equivocator_IM
iom, oom: option message
l: _composite_label equivocator_IM
Hfixed: state_has_fixed_equivocation (let (i, li) := l in let (si', om') := vtransition (equivocator_IM i) li (s' i, iom) in (state_update equivocator_IM s' i si', om')).1
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM i) li (s' i, iom) in (state_update equivocator_IM s' i si', om')) = (s, oom)
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: _composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': _composite_state equivocator_IM
iom, oom: option message
l: _composite_label equivocator_IM
Hfixed: state_has_fixed_equivocation (s, oom).1
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM i) li (s' i, iom) in (state_update equivocator_IM s' i si', om')) = (s, oom)
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: _composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': _composite_state equivocator_IM
iom, oom: option message
l: _composite_label equivocator_IM
Hfixed: state_has_fixed_equivocation (s, oom).1
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: _composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': _composite_state equivocator_IM
iom, oom: option message
l: _composite_label equivocator_IM
Hfixed: state_has_fixed_equivocation s
i: index
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: _composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': _composite_state equivocator_IM
iom, oom: option message
l: _composite_label equivocator_IM
i: index
Hfixed: i ∈ equivocating_indices IM index_listing s → i ∈ equivocating
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: _composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': _composite_state equivocator_IM
iom, oom: option message
l: _composite_label equivocator_IM
i: index
Hfixed: i ∈ equivocating_indices IM index_listing s → i ∈ equivocating
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)
n: equivocator_state_n (s i) ≠ 1is_singleton_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: _composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': _composite_state equivocator_IM
iom, oom: option message
l: _composite_label equivocator_IM
i: index
Hfixed: i ∈ equivocating_indices IM index_listing s → i ∈ equivocating
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)
n: equivocator_state_n (s i) ≠ 1i ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: _composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': _composite_state equivocator_IM
iom, oom: option message
l: _composite_label equivocator_IM
i: index
Hfixed: i ∈ equivocating_indices IM index_listing s → i ∈ equivocating
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)
n: equivocator_state_n (s i) ≠ 1i ∈ equivocating_indices IM index_listing smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: _composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': _composite_state equivocator_IM
iom, oom: option message
l: _composite_label equivocator_IM
i: index
Hfixed: i ∈ equivocating_indices IM index_listing s → i ∈ equivocating
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)
n: equivocator_state_n (s i) ≠ 1is_equivocating_state (IM i) (s i) ∧ i ∈ index_listingassumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: _composite_state equivocator_IM
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': _composite_state equivocator_IM
iom, oom: option message
l: _composite_label equivocator_IM
i: index
Hfixed: i ∈ equivocating_indices IM index_listing s → i ∈ equivocating
Hi: i ∉ equivocating
H: is_singleton_state (IM i) (s' i)
n: equivocator_state_n (s i) ≠ 1is_equivocating_state (IM i) (s i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm sstate_has_fixed_equivocation smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm sstate_has_fixed_equivocation smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
Hs: ∃ (is : state) (tr : list transition_item), finite_valid_trace_init_to equivocators_fixed_equivocations_vlsm is s trstate_has_fixed_equivocation smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop isstate_has_fixed_equivocation smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop isstate_has_fixed_equivocation ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
His: state_has_fixed_equivocation isstate_has_fixed_equivocation smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop isstate_has_fixed_equivocation ismessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
i: index
Hin: i ∈ equivocating_indices IM index_listing isi ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
i: index
Hin: is_equivocating_state (IM i) (is i) ∧ i ∈ index_listingi ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
i: index
His: is_equivocating_state (IM i) (is i)
Hin: i ∈ index_listingi ∈ equivocatingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
i: index
His: ¬ is_singleton_state (IM i) (is i)
Hin: i ∈ index_listingi ∈ equivocatingapply Hinit.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
i: index
Hin: i ∈ index_listingis_singleton_state (IM i) (is i)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
Hinit: initial_state_prop is
His: state_has_fixed_equivocation isstate_has_fixed_equivocation smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: composite_state equivocator_IM
is: state
tr: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm is s tr
His: state_has_fixed_equivocation isstate_has_fixed_equivocation smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: state
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm s
His: state_has_fixed_equivocation sstate_has_fixed_equivocation smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state
iom, oom: option message
l: label
Ht: input_valid_transition equivocators_fixed_equivocations_vlsm l (s', iom) (s, oom)
His: state_has_fixed_equivocation s'
IHHtr: state_has_fixed_equivocation s → state_has_fixed_equivocation fstate_has_fixed_equivocation fassumption.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s: state
Hs: valid_state_prop equivocators_fixed_equivocations_vlsm s
His: state_has_fixed_equivocation sstate_has_fixed_equivocation smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state
iom, oom: option message
l: label
Ht: input_valid_transition equivocators_fixed_equivocations_vlsm l (s', iom) (s, oom)
His: state_has_fixed_equivocation s'
IHHtr: state_has_fixed_equivocation s → state_has_fixed_equivocation fstate_has_fixed_equivocation fmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state
iom, oom: option message
l: label
Ht: input_valid_transition equivocators_fixed_equivocations_vlsm l (s', iom) (s, oom)
His: state_has_fixed_equivocation s'state_has_fixed_equivocation smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state
iom, oom: option message
l: label
Hv: state_has_fixed_equivocation (composite_transition equivocator_IM l (s', iom)).1
Ht: transition l (s', iom) = (s, oom)
His: state_has_fixed_equivocation s'state_has_fixed_equivocation sassumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
s, f: state
tl: list transition_item
Htr: finite_valid_trace_from_to equivocators_fixed_equivocations_vlsm s f tl
s': state
iom, oom: option message
l: label
Hv: state_has_fixed_equivocation (s, oom).1
Ht: transition l (s', iom) = (s, oom)
His: state_has_fixed_equivocation s'state_has_fixed_equivocation s
Inclusion in the free composition.
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (free_composite_vlsm equivocator_IM)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (free_composite_vlsm equivocator_IM)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexinput_valid_constraint_subsumption equivocator_IM equivocators_fixed_equivocations_constraint (free_constraint equivocator_IM)exact I. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label equivocator_IM
som: (composite_state equivocator_IM * option message)%type
H: input_valid (composite_vlsm equivocator_IM equivocators_fixed_equivocations_constraint) l somfree_constraint equivocator_IM l som
Inclusion into the preloaded free composition.
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl (mk_vlsm (composite_vlsm_machine equivocator_IM equivocators_fixed_equivocations_constraint)) (mk_vlsm (machine (free_composite_vlsm equivocator_IM)))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl (mk_vlsm (machine (free_composite_vlsm equivocator_IM))) (mk_vlsm (pre_loaded_with_all_messages_vlsm_machine (free_composite_vlsm equivocator_IM)))apply equivocators_fixed_equivocations_vlsm_incl_free.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl (mk_vlsm (composite_vlsm_machine equivocator_IM equivocators_fixed_equivocations_constraint)) (mk_vlsm (machine (free_composite_vlsm equivocator_IM)))apply vlsm_incl_pre_loaded_with_all_messages_vlsm. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl (mk_vlsm (machine (free_composite_vlsm equivocator_IM))) (mk_vlsm (pre_loaded_with_all_messages_vlsm_machine (free_composite_vlsm equivocator_IM)))
Inclusion of preloaded machine into the preloaded free composition.
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl (pre_loaded_with_all_messages_vlsm equivocators_fixed_equivocations_vlsm) (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl (pre_loaded_with_all_messages_vlsm equivocators_fixed_equivocations_vlsm) (pre_loaded_with_all_messages_vlsm (free_composite_vlsm equivocator_IM))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: label
s: state
om: option message
H: vvalid (mk_vlsm (composite_vlsm_machine equivocator_IM equivocators_fixed_equivocations_constraint)) l (s, om)vvalid (mk_vlsm (composite_vlsm_machine equivocator_IM (free_constraint equivocator_IM))) (id l) (id s, om)apply H. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: label
s: state
om: option message
H: vvalid (mk_vlsm (composite_vlsm_machine equivocator_IM equivocators_fixed_equivocations_constraint)) l (s, om)composite_valid equivocator_IM (id l) (id s, om)
Inclusion in the composition of equivocators with no message equivocation
(no restriction on state equivocation).
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (equivocators_no_equivocations_vlsm IM Hbs)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexVLSM_incl equivocators_fixed_equivocations_vlsm (equivocators_no_equivocations_vlsm IM Hbs)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set indexinput_valid_constraint_subsumption (Common.equivocator_IM IM) equivocators_fixed_equivocations_constraint (equivocators_no_equivocations_constraint IM Hbs)apply Hv. Qed. End equivocators_fixed_equivocations_vlsm. Section fixed_equivocation_with_fullnode.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
l: composite_label (Common.equivocator_IM IM)
s: composite_state (Common.equivocator_IM IM)
om: option message
Hv: input_valid (composite_vlsm (Common.equivocator_IM IM) equivocators_fixed_equivocations_constraint) l (s, om)equivocators_no_equivocations_constraint IM Hbs l (s, om)
This section instantiates the full_node_condition_for_admissible_equivocators
by choosing the admissible indices to be the fixed set of nodes allowed to
equivocate, and then shows that this constraint is stronger than the
fixed_equivocation_constraint.
Context setting the stage for, and instantiating the
full_node_condition_for_admissible_equivocators.
It requires that the nodes have has_been_sent and has_been_received
capabilities, that the number of nodes is finite
Context {message : Type} {index : Type} {IndEqDec : EqDecision index} (IM : index -> VLSM message) (Hbs : forall i : index, HasBeenSentCapability (IM i)) (Hbr : forall i : index, HasBeenReceivedCapability (IM i)) (Hbo : forall i : index, HasBeenObservedCapability (IM i) := fun i : index => HasBeenObservedCapability_from_sent_received (IM i)) (equivocator_IM := equivocator_IM IM) (index_listing : list index) (finite_index : Listing index_listing) (equivocating : set index) (admissible_index := fun s i => i ∈ equivocating) (full_node_constraint := full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index) (full_node_constraint_alt := full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index) .
Context for the fixed_equivocation_constraint. Additionally to the above it
requires that equality on messages is decidable and that the set of VLSMs
allowed to equivocate is non-empty.
Context `{EqDecision message} (equivocating_index : Type := sub_index equivocating) (equivocating_IM := sub_IM IM equivocating) (fixed_equivocation_constraint : composite_label IM -> composite_state IM * option message -> Prop := fixed_equivocation_constraint IM Hbs Hbr equivocating) (Free := free_composite_vlsm IM) (Free_HasBeenSentCapability : HasBeenSentCapability Free := free_composite_HasBeenSentCapability IM finite_index Hbs) (Free_HasBeenReceivedCapability : HasBeenReceivedCapability Free := free_composite_HasBeenReceivedCapability IM finite_index Hbr) (Free_HasBeenObservedCapability : HasBeenObservedCapability Free := free_composite_HasBeenObservedCapability IM finite_index Hbo) . Existing Instance Free_HasBeenObservedCapability.
The full_node_constraint_alt is stronger than the fixed_equivocation_constraint.
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Freestrong_constraint_subsumption IM full_node_constraint_alt fixed_equivocation_constraintmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Freestrong_constraint_subsumption IM full_node_constraint_alt fixed_equivocation_constraintmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
Hc: full_node_constraint_alt l (s, Some m)fixed_equivocation_constraint l (s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
Hm: node_generated_without_further_equivocation_alt IM Hbs Hbr s m ifixed_equivocation_constraint l (s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
Hm: can_emit (pre_loaded_vlsm (IM i) (composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s)) mfixed_equivocation_constraint l (s, Some m)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
Hm: can_emit (pre_loaded_vlsm (IM i) (composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s)) mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating s) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
P: message → Prop
HeqP: P = composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s
Hm: can_emit (pre_loaded_vlsm (IM i) P) mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating s) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
P: message → Prop
HeqP: P = composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s
Hm: can_emit (pre_loaded_vlsm (IM i) P) m
Hemit: (∀ m : message, P m → P m) → ∀ (j : sub_index equivocating) (m : message), can_emit (pre_loaded_vlsm (equivocating_IM j) P) m → can_emit (pre_loaded_vlsm (free_composite_vlsm equivocating_IM) P) mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating s) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
P: message → Prop
HeqP: P = composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s
Hm: can_emit (pre_loaded_vlsm (IM i) P) m
Hemit: (∀ m : message, P m → P m) → ∀ (j : sub_index equivocating) (m : message), can_emit (pre_loaded_vlsm (equivocating_IM j) P) m → can_emit (pre_loaded_vlsm (free_composite_vlsm equivocating_IM) P) m∀ m : message, P m → P mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
P: message → Prop
HeqP: P = composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s
Hm: can_emit (pre_loaded_vlsm (IM i) P) m
Hemit: ∀ (j : sub_index equivocating) (m : message), can_emit (pre_loaded_vlsm (equivocating_IM j) P) m → can_emit (pre_loaded_vlsm (free_composite_vlsm equivocating_IM) P) mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating s) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
P: message → Prop
HeqP: P = composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s
Hm: can_emit (pre_loaded_vlsm (IM i) P) m
Hemit: (∀ m : message, P m → P m) → ∀ (j : sub_index equivocating) (m : message), can_emit (pre_loaded_vlsm (equivocating_IM j) P) m → can_emit (pre_loaded_vlsm (free_composite_vlsm equivocating_IM) P) m∀ m : message, P m → P mapply id.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
P: message → Prop
HeqP: P = composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s
Hm: can_emit (pre_loaded_vlsm (IM i) P) m
Hemit: (∀ m : message, P m → P m) → ∀ (j : sub_index equivocating) (m : message), can_emit (pre_loaded_vlsm (equivocating_IM j) P) m → can_emit (pre_loaded_vlsm (free_composite_vlsm equivocating_IM) P) m
m0: messageP m0 → P m0message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
P: message → Prop
HeqP: P = composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s
Hm: can_emit (pre_loaded_vlsm (IM i) P) m
Hemit: ∀ (j : sub_index equivocating) (m : message), can_emit (pre_loaded_vlsm (equivocating_IM j) P) m → can_emit (pre_loaded_vlsm (free_composite_vlsm equivocating_IM) P) mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating s) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
P: message → Prop
HeqP: P = composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s
Hm: can_emit (pre_loaded_vlsm (IM i) P) m
Hemit: can_emit (pre_loaded_vlsm (equivocating_IM (dec_exist (admissible_index s) i Hi)) P) m → can_emit (pre_loaded_vlsm (free_composite_vlsm equivocating_IM) P) mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating s) mmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
Hemit: can_emit (pre_loaded_vlsm (equivocating_IM (dec_exist (admissible_index s) i Hi)) (composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s)) m → can_emit (pre_loaded_vlsm (free_composite_vlsm equivocating_IM) (composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s)) m
Hm: can_emit (pre_loaded_vlsm (IM i) (composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s)) mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating s) massumption. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
l: composite_label IM
s: composite_state IM
m: message
i: index
Hi: admissible_index s i
Hemit: can_emit (pre_loaded_vlsm (equivocating_IM (dec_exist (admissible_index s) i Hi)) (composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s)) m → can_emit (pre_loaded_vlsm (free_composite_vlsm equivocating_IM) (composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s)) m
Hm: can_emit (pre_loaded_vlsm (IM i) (composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s)) mcan_emit (pre_loaded_vlsm (equivocating_IM (dec_exist (admissible_index s) i Hi)) (composite_has_been_observed IM (λ i : index, HasBeenObservedCapability_from_sent_received (IM i)) s)) m
If all nodes have the cannot_resend_message_stepwise_property, then the
full node constraint is stronger than the fixed_equivocation_constraint.
(by reduction to the result above)
message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Hno_resend: ∀ i : index, cannot_resend_message_stepwise_prop (IM i)preloaded_constraint_subsumption IM full_node_constraint fixed_equivocation_constraintmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Hno_resend: ∀ i : index, cannot_resend_message_stepwise_prop (IM i)preloaded_constraint_subsumption IM full_node_constraint fixed_equivocation_constraintmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Hno_resend: ∀ i : index, cannot_resend_message_stepwise_prop (IM i)
l: composite_label IM
s: state
om: option message
Hv: input_valid (pre_loaded_with_all_messages_vlsm (composite_vlsm IM full_node_constraint)) l (s, om)fixed_equivocation_constraint l (s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Hno_resend: ∀ i : index, cannot_resend_message_stepwise_prop (IM i)
l: composite_label IM
s: state
om: option message
Hv: input_valid (pre_loaded_with_all_messages_vlsm (composite_vlsm IM full_node_constraint)) l (s, om)full_node_constraint_alt l (s, om)assumption. Qed. End fixed_equivocation_with_fullnode. Section from_equivocators_to_nodes.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocator_IM:= Common.equivocator_IM IM: index → VLSM message
index_listing: list index
finite_index: Listing index_listing
equivocating: set index
admissible_index:= λ (_ : composite_state IM) (i : index), i ∈ equivocating: composite_state IM → index → Prop
full_node_constraint:= full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
full_node_constraint_alt:= full_node_condition_for_admissible_equivocators_alt IM Hbs Hbr admissible_index: composite_label IM → composite_state IM * option message → Prop
EqDecision0: EqDecision message
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
fixed_equivocation_constraint:= FixedSetEquivocation.fixed_equivocation_constraint IM Hbs Hbr equivocating: composite_label IM → composite_state IM * option message → Prop
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Hno_resend: ∀ i : index, cannot_resend_message_stepwise_prop (IM i)
l: composite_label IM
s: state
om: option message
Hv: input_valid (pre_loaded_with_all_messages_vlsm (composite_vlsm IM full_node_constraint)) l (s, om)input_valid (pre_loaded_with_all_messages_vlsm (composite_vlsm IM (full_node_condition_for_admissible_equivocators IM Hbs Hbr admissible_index))) l (s, om)
From composition of equivocators to composition of simple nodes
Context
{message : Type}
`{EqDecision message}
{index : Type}
{IndEqDec : EqDecision index}
(IM : index -> VLSM message)
(Hbs : forall i : index, HasBeenSentCapability (IM i))
(Hbr : forall i : index, HasBeenReceivedCapability (IM i))
(Hbo : forall i : index, HasBeenObservedCapability (IM i)
:= fun i => HasBeenObservedCapability_from_sent_received (IM i))
(equivocating : set index)
{index_listing : list index}
(finite_index : Listing index_listing)
(XE : VLSM message := equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating)
(X : VLSM message := fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating)
(equivocators_free_Hbs := free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs))
(FreeE : VLSM message := free_composite_vlsm (equivocator_IM IM))
(FreeE_HasBeenSentCapability : HasBeenSentCapability FreeE := free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs))
(Hdec_init : forall i, vdecidable_initial_messages_prop (IM i))
(Free := free_composite_vlsm IM)
(Free_HasBeenSentCapability : HasBeenSentCapability Free := free_composite_HasBeenSentCapability IM finite_index Hbs)
(Free_HasBeenReceivedCapability : HasBeenReceivedCapability Free := free_composite_HasBeenReceivedCapability IM finite_index Hbr)
(Free_HasBeenObservedCapability : HasBeenObservedCapability Free := free_composite_HasBeenObservedCapability IM finite_index Hbo)
(Free_no_additional_equivocation_decidable := no_additional_equivocations_dec Free)
(index_equivocating_prop : index -> Prop := sub_index_prop equivocating)
(equivocating_index : Type := sub_index equivocating)
(equivocating_IM := sub_IM IM equivocating)
(free_equivocating_vlsm_composition : VLSM message := free_composite_vlsm equivocating_IM)
(sub_equivocator_IM := sub_IM (equivocator_IM IM) equivocating)
.
proper_equivocator_descriptors strengthen for fixed-equivocation.
We require that if the index is not equivocating, than the corresponding
descriptor is a zero_descriptor.
Definition proper_fixed_equivocator_descriptors
(eqv_descriptors : equivocator_descriptors IM)
(s : state)
: Prop
:= proper_equivocator_descriptors IM eqv_descriptors s /\
forall i, i ∉ equivocating -> eqv_descriptors i = Existing 0.
not_equivocating_equivocator_descriptors satisfy the
proper_fixed_equivocator_descriptors property.
message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors sproper_fixed_equivocator_descriptors eqv_descriptors smessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors sproper_fixed_equivocator_descriptors eqv_descriptors smessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors s
Hproper: proper_equivocator_descriptors IM eqv_descriptors sproper_fixed_equivocator_descriptors eqv_descriptors smessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors s
Hproper: proper_equivocator_descriptors IM eqv_descriptors s∀ i : index, i ∉ equivocating → eqv_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors s
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
i: index
Hi: i ∉ equivocatingeqv_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors s
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
i: index
Hi: i ∉ equivocating
Hzero: is_singleton_state (IM i) (s i)eqv_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
Heqv_descriptors: not_equivocating_equivocator_descriptors IM eqv_descriptors s
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
i: index
Hi: i ∉ equivocating
Hzero: equivocator_state_n (s i) = 1eqv_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
i: index
Heqv_descriptors: existing_descriptor (IM i) (eqv_descriptors i) (s i)
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
Hi: i ∉ equivocating
Hzero: equivocator_state_n (s i) = 1eqv_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
i: index
Heqv_descriptors: match eqv_descriptors i with | NewMachine _ => False | Existing i0 => is_Some (equivocator_state_project (s i) i0) end
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
Hi: i ∉ equivocating
Hzero: equivocator_state_n (s i) = 1eqv_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
i: index
n: nat
Heqv_descriptors: is_Some (equivocator_state_project (s i) n)
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
Hi: i ∉ equivocating
Hzero: equivocator_state_n (s i) = 1Existing n = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
i: index
n: nat
s_i_n: vstate (IM i)
Heqv_descriptors: equivocator_state_project (s i) n = Some s_i_n
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
Hi: i ∉ equivocating
Hzero: equivocator_state_n (s i) = 1Existing n = Existing 0f_equal; lia. Qed.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
eqv_descriptors: equivocator_descriptors IM
i: index
n: nat
s_i_n: vstate (IM i)
Heqv_descriptors: n < equivocator_state_n (s i)
Hproper: proper_equivocator_descriptors IM eqv_descriptors s
Hi: i ∉ equivocating
Hzero: equivocator_state_n (s i) = 1Existing n = Existing 0
Projections of (valid) traces of the composition of equivocators preserve
proper_fixed_equivocator_descriptors.
message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr
s:= finite_trace_last is tr: state
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)proper_fixed_equivocator_descriptors descriptors s → proper_fixed_equivocator_descriptors idescriptors ismessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr
s:= finite_trace_last is tr: state
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)proper_fixed_equivocator_descriptors descriptors s → proper_fixed_equivocator_descriptors idescriptors ismessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr
s:= finite_trace_last is tr: state
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
Hfixed: ∀ i : index, i ∉ equivocating → descriptors i = Existing 0proper_fixed_equivocator_descriptors idescriptors ismessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr
s:= finite_trace_last is tr: state
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
Hfixed: ∀ i : index, i ∉ equivocating → descriptors i = Existing 0
Hiproper: proper_equivocator_descriptors IM idescriptors isproper_fixed_equivocator_descriptors idescriptors ismessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr
s:= finite_trace_last is tr: state
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
Hfixed: ∀ i : index, i ∉ equivocating → descriptors i = Existing 0
Hiproper: proper_equivocator_descriptors IM idescriptors is∀ i : index, i ∉ equivocating → idescriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr
s:= finite_trace_last is tr: state
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
Hfixed: ∀ i : index, i ∉ equivocating → descriptors i = Existing 0
Hiproper: proper_equivocator_descriptors IM idescriptors is
i: index
Hi: i ∉ equivocatingidescriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr
s:= finite_trace_last is tr: state
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
i: index
Hfixed: descriptors i = Existing 0
Hiproper: proper_equivocator_descriptors IM idescriptors is
Hi: i ∉ equivocatingidescriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr
s:= finite_trace_last is tr: state
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
i: index
Hiproper: proper_equivocator_descriptors IM idescriptors is
Hi: i ∉ equivocatingdescriptors i = Existing 0 → idescriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr
s:= finite_trace_last is tr: state
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
i: index
Hiproper: proper_equivocator_descriptors IM idescriptors isdescriptors i = Existing 0 → idescriptors i = Existing 0apply (equivocators_trace_project_preserves_zero_descriptors IM) with is tr trX ; assumption. Qed. Existing Instance equivocators_free_Hbs.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr
s:= finite_trace_last is tr: state
descriptors, idescriptors: equivocator_descriptors IM
trX: list (composite_transition_item IM)
HtrX: equivocators_trace_project IM descriptors tr = Some (trX, idescriptors)
Hproper: proper_equivocator_descriptors IM descriptors s
Hiproper: proper_equivocator_descriptors IM idescriptors is∀ i : index, descriptors i = Existing 0 → idescriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
es: vstate XE
Hes: vinitial_state_prop XE es
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors esvinitial_state_prop X (equivocators_state_project IM eqv_descriptors es)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
es: vstate XE
Hes: vinitial_state_prop XE es
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors esvinitial_state_prop X (equivocators_state_project IM eqv_descriptors es)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
es: vstate XE
Hes: vinitial_state_prop XE es
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors es
eqv: indexvinitial_state_prop (IM eqv) (equivocators_state_project IM eqv_descriptors es eqv)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
es: vstate XE
eqv: index
Hes: vinitial_state_prop (equivocator_IM IM eqv) (es eqv)
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors esvinitial_state_prop (IM eqv) (equivocators_state_project IM eqv_descriptors es eqv)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
es: vstate XE
eqv: index
Hes: vinitial_state_prop (equivocator_vlsm (IM eqv)) (es eqv)
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors esvinitial_state_prop (IM eqv) (equivocators_state_project IM eqv_descriptors es eqv)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
es: vstate XE
eqv: index
Hes: vinitial_state_prop (equivocator_vlsm (IM eqv)) (es eqv)
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_equivocator_descriptors IM eqv_descriptors esvinitial_state_prop (IM eqv) (equivocator_state_descriptor_project (es eqv) (eqv_descriptors eqv))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
es: vstate XE
eqv: index
Hes: vinitial_state_prop (equivocator_vlsm (IM eqv)) (es eqv)
eqv_descriptors: equivocator_descriptors IM
Heqv: proper_descriptor (IM eqv) (eqv_descriptors eqv) (es eqv)vinitial_state_prop (IM eqv) (equivocator_state_descriptor_project (es eqv) (eqv_descriptors eqv))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
es: vstate XE
eqv: index
Hes: vinitial_state_prop (equivocator_vlsm (IM eqv)) (es eqv)
eqv_descriptors: equivocator_descriptors IM
i: nat
Heqv: proper_descriptor (IM eqv) (Existing i) (es eqv)vinitial_state_prop (IM eqv) (equivocator_state_descriptor_project (es eqv) (Existing i))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
es: vstate XE
eqv: index
Hes: vinitial_state_prop (equivocator_vlsm (IM eqv)) (es eqv)
eqv_descriptors: equivocator_descriptors IM
i: nat
esi: vstate (IM eqv)
Heqsi: equivocator_state_project (es eqv) i = Some esivinitial_state_prop (IM eqv) (equivocator_state_descriptor_project (es eqv) (Existing i))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
es: vstate XE
eqv: index
Hes: vinitial_state_prop (equivocator_vlsm (IM eqv)) (es eqv)
eqv_descriptors: equivocator_descriptors IM
i: nat
esi: vstate (IM eqv)
Heqsi: equivocator_state_project (es eqv) i = Some esivinitial_state_prop (IM eqv) (default (equivocator_state_zero (es eqv)) (equivocator_state_project (es eqv) i))apply equivocator_vlsm_initial_state_preservation_rev with (es eqv) i; assumption. Qed. Existing Instance Free_HasBeenObservedCapability. Existing Instance Free_HasBeenSentCapability.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
es: vstate XE
eqv: index
Hes: vinitial_state_prop (equivocator_vlsm (IM eqv)) (es eqv)
eqv_descriptors: equivocator_descriptors IM
i: nat
esi: vstate (IM eqv)
Heqsi: equivocator_state_project (es eqv) i = Some esivinitial_state_prop (IM eqv) (default (equivocator_state_zero (es eqv)) (Some esi))
This is a property of the fixed_equivocation_constraint which also
trivially holds for the free constraint. This property is sufficient for
proving the _equivocators_valid_trace_project lemma,
which lets that lemma be used for both the composition of equivocators with
fixed state-equivocation and the free composition.
It basically says that if a message has_been_sent for a state of the
composition of equivocators with no-message equivocations and fixed
state-equivocations, then any of its projections should be allowed to receive it.
Definition constraint_has_been_sent_prop
(constraint : composite_label IM -> composite_state IM * option message -> Prop)
: Prop :=
forall
(s : composite_state (equivocator_IM IM))
(Hs : valid_state_prop XE s)
(descriptors : equivocator_descriptors IM)
(Hdescriptors : proper_fixed_equivocator_descriptors descriptors s)
(sX := @equivocators_state_project _ _ IndEqDec IM descriptors s)
(m: message)
(Hm : has_been_sent FreeE s m)
l,
constraint l (sX, Some m).
Generic proof that the projection of a trace of the composition of equivocators
with no message equivocation and fixed state equivocation is valid w.r.t.
the composition of the regular nodes constrained by any constraint satisfying
several properties, including the constraint_has_been_sent_property.
The proof proceeds by well founded induction on the length of the trace,
performing an analysis on the final transition item of the trace.
It uses the fact that the trace hase no message equivocation to extract a
subtrace producing the message being received at the last transition and
proves that it's a valid message for the destination machine by using
the induction hypothesis (that is why well-founded induction is used rather
than a simpler induction principle).
The constraint satisfaction for the projection of the final transition is
for now assumes as hypothesis
Hconstraint_hbs.
message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
len_tr: nat
Heqlen_tr: len_tr = length tr∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
len_tr: nat
Heqlen_tr: len_tr = length tr∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
len_tr: nat∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → len_tr = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
len_tr: nat
H: ∀ y : nat, y < len_tr → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
Heqlen_tr: len_tr = length tr
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr: list (composite_transition_item (equivocator_IM IM))
H: ∀ y : nat, y < length tr → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr: list (composite_transition_item (equivocator_IM IM))
H: ∀ y : nat, y < length [] → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = []∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors [] = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr: list (composite_transition_item (equivocator_IM IM))
H: ∀ y : nat, y < length [] → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = []∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors [] = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = []∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors [] = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors [] = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors [] = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is []) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])proper_fixed_equivocator_descriptors final_descriptors is ∧ equivocators_trace_project IM final_descriptors [] = Some ([], final_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is []) = finite_trace_last (equivocators_state_project IM final_descriptors is) [] ∧ finite_valid_trace X' (equivocators_state_project IM final_descriptors is) []message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])equivocators_trace_project IM final_descriptors [] = Some ([], final_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is []) = finite_trace_last (equivocators_state_project IM final_descriptors is) [] ∧ finite_valid_trace X' (equivocators_state_project IM final_descriptors is) []message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])equivocators_state_project IM final_descriptors (finite_trace_last is []) = finite_trace_last (equivocators_state_project IM final_descriptors is) [] ∧ finite_valid_trace X' (equivocators_state_project IM final_descriptors is) []message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])finite_valid_trace X' (equivocators_state_project IM final_descriptors is) []message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])
isx: vstate (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors isfinite_valid_trace X' isx []message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])
isx: vstate (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors isvinitial_state_prop X' isx → finite_valid_trace X' isx []message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])
isx: vstate (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors isvinitial_state_prop X' isxmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])
isx: vstate (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors isvinitial_state_prop X' isx → finite_valid_trace X' isx []message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])
isx: vstate (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors is
H: vinitial_state_prop X' isxfinite_valid_trace X' isx []message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])
isx: vstate (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors is
H: vinitial_state_prop X' isxfinite_valid_trace_from X' isx []message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])
isx: vstate (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors is
H: vinitial_state_prop X' isxvalid_state_prop X' isxmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])
isx: vstate (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors is
H: vinitial_state_prop X' isx(∃ is : initial_state, isx = `is) ∨ (∃ (l : label) (som : state * option message) (om' : option message), input_valid_transition X' l som (isx, om'))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])
isx: vstate (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors is
H: vinitial_state_prop X' isx∃ is : initial_state, isx = `isreflexivity.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])
isx: vstate (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors is
H: vinitial_state_prop X' isxisx = `(isx ↾ H)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])
isx: vstate (free_composite_vlsm IM)
Heqisx: isx = equivocators_state_project IM final_descriptors isvinitial_state_prop X' isxmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])vinitial_state_prop X' (equivocators_state_project IM final_descriptors is)apply Htr.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
final_state:= finite_trace_last is []: state
Htr: finite_valid_trace XE is []
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is [])vinitial_state_prop XE ismessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': length tr' < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': length tr' < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXlength tr' < length (tr' ++ [lst])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': length tr' < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXlength tr' < length (tr' ++ [lst])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': length tr' < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXlength tr' < length tr' + length [lst]lia.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': length tr' < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXlength tr' < length tr' + 1message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is (tr' ++ [lst])
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is (tr' ++ [lst])
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr' ∧ finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hproperx: proper_equivocator_descriptors IM final_descriptors (destination lst) → ∃ (oitem : option (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_transition_item_project IM final_descriptors lst = Some (oitem, eqv_descriptors') ∧ match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ eqv_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end ∧ (∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM eqv_descriptors' s ∧ eqv_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (eqv_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (eqv_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM eqv_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM eqv_descriptors' s end)∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hproperx: proper_equivocator_descriptors IM final_descriptors (destination lst) → ∃ (oitem : option (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_transition_item_project IM final_descriptors lst = Some (oitem, eqv_descriptors') ∧ match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ eqv_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end ∧ (∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM eqv_descriptors' s ∧ eqv_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (eqv_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (eqv_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM eqv_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM eqv_descriptors' s end)
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hproperx: proper_equivocator_descriptors IM final_descriptors (destination lst) → ∃ (oitem : option (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_transition_item_project IM final_descriptors lst = Some (oitem, eqv_descriptors') ∧ match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ eqv_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end ∧ (∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM eqv_descriptors' s ∧ eqv_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (eqv_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (eqv_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM eqv_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM eqv_descriptors' s end)
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hproperx: proper_equivocator_descriptors IM final_descriptors (destination lst) → ∃ (oitem : option (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_transition_item_project IM final_descriptors lst = Some (oitem, eqv_descriptors') ∧ match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ eqv_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end ∧ (∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM eqv_descriptors' s ∧ eqv_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (eqv_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (eqv_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM eqv_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM eqv_descriptors' s end)
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
Hproperx: ∃ (oitem : option (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_transition_item_project IM final_descriptors lst = Some (oitem, eqv_descriptors') ∧ match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ eqv_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end ∧ (∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM eqv_descriptors' s ∧ eqv_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (eqv_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (eqv_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM eqv_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM eqv_descriptors' s end)∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l lst) (s, input lst) → composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' s ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ s = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (s (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (s (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' s → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' s end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) (Some ([], final_descriptors)) (tr' ++ [lst]) = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) (foldr (equivocators_trace_project_folder IM) (Some ([], final_descriptors)) [lst]) tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = foldr (equivocators_trace_project_folder IM) (Some ([], final_descriptors)) [lst]∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match equivocators_transition_item_project IM final_descriptors lst with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: finite_valid_trace_from XE (finite_trace_last is tr') [lst]
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
lst: composite_transition_item (equivocator_IM IM)
H: ∀ y : nat, y < length (tr' ++ [lst]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: input_valid_transition XE (l lst) (finite_trace_last is tr', input lst) (destination lst, output lst)
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination lst)
Htr_lst: tr = tr' ++ [lst]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (l lst) (s, input lst) = (destination lst, output lst) → composite_valid (equivocator_IM IM) (l lst) (s, input lst) → equivocators_transition_item_project IM final_descriptors lst = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors lst = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (l lst))) (projT2 (l lst)), existT (projT1 (l lst)) (existing_equivocator_label_extract (IM (projT1 (l lst))) (projT2 (l lst)) Hex) = l itemx) ∧ input lst = input itemx ∧ output lst = output itemx ∧ equivocators_state_project IM final_descriptors (destination lst) = destination itemx ∧ final_descriptors' (projT1 (l lst)) = equivocator_label_descriptor (projT2 (l lst)) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) → composite_transition (equivocator_IM IM) (l lst) (finite_trace_last is tr', input lst) = (destination lst, output lst) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (l lst)) (final_descriptors' (projT1 (l lst))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination lst) (projT1 (l lst)) (finite_trace_last is tr' (projT1 (l lst))) ∧ previous_state_descriptor_prop (IM (projT1 (l lst))) (final_descriptors (projT1 (l lst))) (finite_trace_last is tr' (projT1 (l lst))) (final_descriptors' (projT1 (l lst))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (l itemx) (sx, input itemx) ∧ composite_transition IM (l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination lst) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: label
iom: option message
s: state
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), let final_state := finite_trace_last is tr in finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors final_state → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X' isX trX
final_state:= finite_trace_last is tr: state
Htr: finite_valid_trace_from XE is tr'
Hlst: input_valid_transition XE (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (finite_trace_last is tr', input {| l := l; input := iom; destination := s; output := oom |}) (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |})
Hinit: initial_state_prop is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (destination {| l := l; input := iom; destination := s; output := oom |})
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = final_stateX ∧ finite_valid_trace X' isX trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s0 : composite_state (equivocator_IM IM)), composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) → equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})), existT (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (existing_equivocator_label_extract (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) Hex) = VLSM.l itemx) ∧ input {| l := l; input := iom; destination := s; output := oom |} = input itemx ∧ output {| l := l; input := iom; destination := s; output := oom |} = output itemx ∧ equivocators_state_project IM final_descriptors (destination {| l := l; input := iom; destination := s; output := oom |}) = destination itemx ∧ final_descriptors' (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = equivocator_label_descriptor (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) | None => True end
Hproperx: composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (finite_trace_last is tr', input {| l := l; input := iom; destination := s; output := oom |}) → composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (finite_trace_last is tr', input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (final_descriptors' (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) (destination {| l := l; input := iom; destination := s; output := oom |}) (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (finite_trace_last is tr' (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) ∧ previous_state_descriptor_prop (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (final_descriptors (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (finite_trace_last is tr' (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (final_descriptors' (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → composite_valid IM (VLSM.l itemx) (sx, input itemx) ∧ composite_transition IM (VLSM.l itemx) (sx, input itemx) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors (destination {| l := l; input := iom; destination := s; output := oom |}) = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hlst: input_valid_transition XE l (finite_trace_last is tr', iom) (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s0 : composite_state (equivocator_IM IM)), (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (s0 i, iom) in (state_update (equivocator_IM IM) s0 i si', om')) = (s, oom) → (let (i, li) := l in vvalid (equivocator_IM IM i) li (s0 i, iom)) → equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hproperx: (let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, iom)) → (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, iom) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, oom) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 l) (final_descriptors' (projT1 l)) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) s (projT1 l) (finite_trace_last is tr' (projT1 l)) ∧ previous_state_descriptor_prop (IM (projT1 l)) (final_descriptors (projT1 l)) (finite_trace_last is tr' (projT1 l)) (final_descriptors' (projT1 l)) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
Hzero: ∀ (oitem : option (composite_transition_item IM)) (idescriptors : equivocator_descriptors IM) (s0 : composite_state (equivocator_IM IM)), (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (s0 i, iom) in (state_update (equivocator_IM IM) s0 i si', om')) = (s, oom) → (let (i, li) := l in vvalid (equivocator_IM IM i) li (s0 i, iom)) → equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, idescriptors) → ∀ i : index, final_descriptors i = Existing 0 → idescriptors i = Existing 0
oitem: option (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hproperx: (let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, iom)) → (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, iom) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, oom) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 l) (final_descriptors' (projT1 l)) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) s (projT1 l) (finite_trace_last is tr' (projT1 l)) ∧ previous_state_descriptor_prop (IM (projT1 l)) (final_descriptors (projT1 l)) (finite_trace_last is tr' (projT1 l)) (final_descriptors' (projT1 l)) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hproperx: (let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, iom)) → (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, iom) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, oom) → proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 l) (final_descriptors' (projT1 l)) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) s (projT1 l) (finite_trace_last is tr' (projT1 l)) ∧ previous_state_descriptor_prop (IM (projT1 l)) (final_descriptors (projT1 l)) (finite_trace_last is tr' (projT1 l)) (final_descriptors' (projT1 l)) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hproperx: proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr') ∧ final_descriptors' = equivocator_descriptors_update IM final_descriptors (projT1 l) (final_descriptors' (projT1 l)) ∧ finite_trace_last is tr' = state_update (equivocator_IM IM) s (projT1 l) (finite_trace_last is tr' (projT1 l)) ∧ previous_state_descriptor_prop (IM (projT1 l)) (final_descriptors (projT1 l)) (finite_trace_last is tr' (projT1 l)) (final_descriptors' (projT1 l)) ∧ match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') endproper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') endproper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end∀ i : index, i ∉ equivocating → final_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
i: index
Hi: i ∉ equivocatingfinal_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
i: index
Hi: i ∉ equivocatingfinal_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
i: index
Hi: i ∉ equivocatingfinal_descriptors i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hzero: ∀ i : index, i ∉ equivocating → final_descriptors i = Existing 0
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
i: index
Hi: i ∉ equivocatingfinal_descriptors i = Existing 0assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hzero: ∀ i : index, i ∉ equivocating → final_descriptors i = Existing 0
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
i: index
Hi: i ∉ equivocatingi ∉ equivocatingmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
Hzero: ∀ i : index, final_descriptors i = Existing 0 → final_descriptors' i = Existing 0
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
_Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is tr')
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
H': ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr') → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_descriptors': equivocator_descriptors IM
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
H': ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors' tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')finite_valid_trace FreeE is tr'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')finite_valid_trace FreeE is tr'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')finite_valid_trace_from FreeE is tr'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')finite_valid_trace_from XE is tr' → finite_valid_trace_from FreeE is tr'apply equivocators_fixed_equivocations_vlsm_incl_free.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')VLSM_incl_part (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) (composite_vlsm_machine (equivocator_IM IM) (free_constraint (equivocator_IM IM)))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Hincl: VLSM_incl FreeE (pre_loaded_with_all_messages_vlsm FreeE)finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr'apply Htr'.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Hincl: VLSM_incl FreeE (pre_loaded_with_all_messages_vlsm FreeE)finite_valid_trace_from (mk_vlsm (machine FreeE)) is tr'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
oitem: option (composite_transition_item IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (oitem, final_descriptors')
Hitemx: match oitem with | Some itemx => (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l itemx) ∧ iom = input itemx ∧ oom = output itemx ∧ equivocators_state_project IM final_descriptors s = destination itemx ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l) | None => True end
Hx: match oitem with | Some itemx => ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l itemx in vvalid (IM i) li (sx i, input itemx)) ∧ (let (i, li) := VLSM.l itemx in let (si', om') := vtransition (IM i) li (sx i, input itemx) in (state_update IM sx i si', om')) = (destination itemx, output itemx) | None => equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') end
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = match oitem with | Some item' => Some ([item'], final_descriptors') | None => Some ([], final_descriptors') end
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hitemx: (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item) ∧ iom = input item ∧ oom = output item ∧ equivocators_state_project IM final_descriptors s = destination item ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l)
Hx: ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l item in vvalid (IM i) li (sx i, input item)) ∧ (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (sx i, input item) in (state_update IM sx i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hitemx: (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item) ∧ iom = input item ∧ oom = output item ∧ equivocators_state_project IM final_descriptors s = destination item ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l)
Hx: ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l item in vvalid (IM i) li (sx i, input item)) ∧ (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (sx i, input item) in (state_update IM sx i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hitemx: (∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item) ∧ iom = input item ∧ oom = output item ∧ equivocators_state_project IM final_descriptors s = destination item ∧ final_descriptors' (projT1 l) = equivocator_label_descriptor (projT2 l)
Hx: ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l item in vvalid (IM i) li (sx i, input item)) ∧ (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (sx i, input item) in (state_update IM sx i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hx: ∀ sx : composite_state IM, sx = equivocators_state_project IM final_descriptors' (finite_trace_last is tr') → (let (i, li) := VLSM.l item in vvalid (IM i) li (sx i, input item)) ∧ (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (sx i, input item) in (state_update IM sx i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hx: (let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)) ∧ (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([item], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isproper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX' ++ [item], initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) (trX' ++ [item]) ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isproper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) (Some ([item], final_descriptors')) tr' = Some (trX' ++ [item], initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) (trX' ++ [item]) ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isproper_fixed_equivocator_descriptors initial_descriptors is ∧ Some (trX' ++ [item], initial_descriptors) = Some (trX' ++ [item], initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) (trX' ++ [item]) ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isSome (trX' ++ [item], initial_descriptors) = Some (trX' ++ [item], initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) (trX' ++ [item]) ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) (trX' ++ [item]) ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors final_state = destination item ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors (finite_trace_last is tr) = destination item ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors (finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}])) = destination item ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors (destination {| l := l; input := iom; destination := s; output := oom |}) = destination item ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) (trX' ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace_from X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [item]message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace_from X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [item]message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfinite_valid_trace_from X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') ([] ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
item: composite_transition_item IM
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some item, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l item
Hinput: iom = input item
Houtput: oom = output item
Hdestination: equivocators_state_project IM final_descriptors s = destination item
Hvx: let (i, li) := VLSM.l item in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item)
Htx: (let (i, li) := VLSM.l item in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input item) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination item, output item)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'finite_valid_trace_from X' lst ([] ++ [item])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
l0: label
input: option message
destination: state
output: option message
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l {| l := l0; input := input; destination := destination; output := output |}
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'finite_valid_trace_from X' lst ([] ++ [{| l := l0; input := input; destination := destination; output := output |}])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
l0: label
input: option message
destination: state
output: option message
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l {| l := l0; input := input; destination := destination; output := output |}
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'valid_state_prop X' lstmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
l0: label
input: option message
destination: state
output: option message
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l {| l := l0; input := input; destination := destination; output := output |}
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hplst: valid_state_prop X' lstfinite_valid_trace_from X' lst ([] ++ [{| l := l0; input := input; destination := destination; output := output |}])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
l0: label
input: option message
destination: state
output: option message
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l {| l := l0; input := input; destination := destination; output := output |}
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'valid_state_prop X' lstmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
l0: label
input: option message
destination: state
output: option message
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l {| l := l0; input := input; destination := destination; output := output |}
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'valid_state_prop X' lstassumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: option message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isvalid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
l0: label
input: option message
destination: state
output: option message
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l {| l := l0; input := input; destination := destination; output := output |}
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hplst: valid_state_prop X' lstfinite_valid_trace_from X' lst ([] ++ [{| l := l0; input := input; destination := destination; output := output |}])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
l0: label
input: option message
destination: state
output: option message
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = VLSM.l {| l := l0; input := input; destination := destination; output := output |}
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hplst: valid_state_prop X' lstinput_valid_transition X' l0 (finite_trace_last lst [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
l0: label
input: option message
destination: state
output: option message
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hinput: iom = VLSM.input {| l := l0; input := input; destination := destination; output := output |}
Houtput: oom = VLSM.output {| l := l0; input := input; destination := destination; output := output |}
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
lst: state
Heqlst: lst = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hplst: valid_state_prop X' lstinput_valid_transition X' l0 (finite_trace_last lst [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: option message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: option message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', input)
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: option message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hno_equiv: composite_no_equivocations (equivocator_IM IM) (equivocator_Hbs IM Hbs) l (finite_trace_last is tr', input)
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Htx: (let (i, li) := VLSM.l {| l := l0; input := input; destination := destination; output := output |} in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, VLSM.input {| l := l0; input := input; destination := destination; output := output |}) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (VLSM.destination {| l := l0; input := input; destination := destination; output := output |}, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: option message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hno_equiv: composite_no_equivocations (equivocator_IM IM) (equivocator_Hbs IM Hbs) l (finite_trace_last is tr', input)
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (equivocators_state_project IM final_descriptors' (finite_trace_last is tr') i, input) in (state_update IM (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: option message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := input; destination := destination; output := output |})
Hno_equiv: composite_no_equivocations (equivocator_IM IM) (equivocator_Hbs IM Hbs) l (finite_trace_last is tr', input)
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_no_equivocations (equivocator_IM IM) (equivocator_Hbs IM Hbs) l (finite_trace_last is tr', Some input)
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_no_equivocations (equivocator_IM IM) (equivocator_Hbs IM Hbs) l (finite_trace_last is tr', Some input)
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: False ∨ composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')valid_state_prop FreeE (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')valid_state_prop FreeE (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
_om: option message
Hs: valid_state_message_prop XE (finite_trace_last is tr') _om
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')valid_state_prop FreeE (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
_om: option message
Hs: valid_state_message_prop XE (finite_trace_last is tr') _om
Hs_free: valid_state_message_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (finite_trace_last is tr') _om
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')valid_state_prop FreeE (finite_trace_last is tr')assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
_om: option message
Hs: valid_state_message_prop XE (finite_trace_last is tr') _om
Hs_free: valid_state_message_prop (composite_vlsm (equivocator_IM IM) (free_constraint (equivocator_IM IM))) (finite_trace_last is tr') _om
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')valid_state_message_prop FreeE (finite_trace_last is tr') _ommessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: specialized_selected_message_exists_in_all_traces FreeE (field_selector VLSM.output) (finite_trace_last is tr') inputinput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXminput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXmproper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXmproper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXmvalid_state_prop XE (finite_trace_last is tr')assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXmfinite_valid_trace_from XE is tr'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
H: ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXinput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')length tr' < length tr' + length [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]lia.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
H: length tr' < length (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')length tr' < length tr' + 1message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
H: ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → length tr' = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXinput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
H: ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors_m tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXinput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: label
input: message
destination: state
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}; destination := s; output := VLSM.output {| l := l0; input := Some input; destination := destination; output := output |} |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: transition l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |}) = (s, VLSM.output {| l := l0; input := Some input; destination := destination; output := output |})
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr', Some input).1 input
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hiom: option_valid_message_prop XE (VLSM.input {| l := l0; input := Some input; destination := destination; output := output |})
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: initial_state_prop (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = VLSM.destination {| l := l0; input := Some input; destination := destination; output := output |}
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
trXm': list (composite_transition_item IM)
initial_descriptors_m': equivocator_descriptors IM
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m' is
Hproject_trXm': equivocators_trace_project IM final_descriptors_m tr' = Some (trXm', initial_descriptors_m')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m' is) trXm'
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m' is) trXm'input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
trXm': list (composite_transition_item IM)
initial_descriptors_m': equivocator_descriptors IM
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m' is
Hproject_trXm': equivocators_trace_project IM final_descriptors_m tr' = Some (trXm', initial_descriptors_m')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m' is) trXm'
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m' is) trXm'input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
trXm': list (composite_transition_item IM)
initial_descriptors_m': equivocator_descriptors IM
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m' is
Hproject_trXm': Some (trXm, initial_descriptors_m) = Some (trXm', initial_descriptors_m')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m' is) trXm'
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m' is) trXm'input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
trXm': list (composite_transition_item IM)
initial_descriptors_m': equivocator_descriptors IM
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m' is
Hproject_trXm': Some (trXm, initial_descriptors_m) = Some (trXm', initial_descriptors_m')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m' is) trXm'
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m' is) trXm'
H0: trXm = trXm'
H1: initial_descriptors_m = initial_descriptors_m'input_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hproject_trXm': Some (trXm, initial_descriptors_m) = Some (trXm, initial_descriptors_m)
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isinput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isinput_valid_transition X' l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input) (destination, output)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isconstraint l0 (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') [], Some input)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isconstraint l0 (finite_trace_last (equivocators_state_project IM final_descriptors' (finite_trace_last is tr')) [], Some input)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m ishas_been_sent FreeE (finite_trace_last is tr') inputmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isvalid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is tr')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m is
Hlst'pre: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is tr')has_been_sent FreeE (finite_trace_last is tr') inputmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isvalid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is tr')apply Htr'pre.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m isfinite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is tr'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m is
Hlst'pre: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is tr')has_been_sent FreeE (finite_trace_last is tr') inputmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m is
Hlst'pre: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is tr')selected_message_exists_in_all_preloaded_traces FreeE (field_selector VLSM.output) (finite_trace_last is tr') inputmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m is
Hlst'pre: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is tr')selected_message_exists_in_some_preloaded_traces FreeE (field_selector VLSM.output) (finite_trace_last is tr') inputassumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
s: _composite_state (equivocator_IM IM)
l0: _composite_label IM
input: message
destination: _composite_state IM
output: option message
final_descriptors, final_descriptors': equivocator_descriptors IM
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := Some input; destination := s; output := output |}]): _composite_state (equivocator_IM IM)
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := Some input; destination := s; output := output |} = Some (Some {| l := l0; input := Some input; destination := destination; output := output |}, final_descriptors')
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input) in (state_update (equivocator_IM IM) (finite_trace_last is tr') i si', om')) = (s, output)
Hno_equiv: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is tr') input
Hv: let (i, li) := l in vvalid (equivocator_IM IM i) li (finite_trace_last is tr' i, Some input)
Hiom: option_valid_message_prop XE (Some input)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace_from X' (equivocators_state_project IM initial_descriptors is) trX'
His: composite_initial_state_prop IM (equivocators_state_project IM initial_descriptors is)
Hl: ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex) = l0
Hdestination: equivocators_state_project IM final_descriptors s = destination
Hvx: let (i, li) := l0 in vvalid (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input)
Htx: (let (i, li) := l0 in let (si', om') := vtransition (IM i) li (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' i, Some input) in (state_update IM (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX') i si', om')) = (destination, output)
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is
Hplst: valid_state_prop X' (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX')
Hs_free: valid_state_prop FreeE (finite_trace_last is tr')
Hall: trace_has_message (field_selector VLSM.output) input tr'
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
_Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr')
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr' = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector VLSM.output input) trXm
Hfinal_descriptors_m: proper_fixed_equivocator_descriptors final_descriptors_m (finite_trace_last is tr')
Hpr_fin_tr': equivocators_state_project IM final_descriptors_m (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors_m is) trXm
HtrXm: finite_valid_trace X' (equivocators_state_project IM initial_descriptors_m is) trXm
Hproper_initial_m: proper_fixed_equivocator_descriptors initial_descriptors_m is
Hlst'pre: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is tr')trace_has_message (field_selector VLSM.output) input tr'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors is∃ initial_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX', initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
foldx: option (list (composite_transition_item IM) * equivocator_descriptors IM)
Heqfoldx: foldx = Some ([], final_descriptors')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isproper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) foldx tr' = Some (trX', initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isproper_fixed_equivocator_descriptors initial_descriptors is ∧ foldr (equivocators_trace_project_folder IM) (Some ([], final_descriptors')) tr' = Some (trX', initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isfoldr (equivocators_trace_project_folder IM) (Some ([], final_descriptors')) tr' = Some (trX', initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX' ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr, tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is tr: _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
Htr_lst: tr = tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
constraint: composite_label IM → composite_state IM * option message → Prop
HconstraintNone: ∀ (l : composite_label IM) (s : composite_state IM), constraint l (s, None)
Hconstraint_hbs: constraint_has_been_sent_prop constraint
X':= composite_vlsm IM constraint: VLSM message
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
H: ∀ y : nat, y < length (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) → ∀ tr : list (composite_transition_item (equivocator_IM IM)), finite_valid_trace XE is tr → y = length tr → ∀ final_descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr) → ∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX ∧ finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
Htr: finite_valid_trace_from XE is tr'
Hs: valid_state_prop XE (finite_trace_last is tr')
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is tr', iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is tr', iom)
Ht: transition l (finite_trace_last is tr', iom) = (s, oom)
Hinit: composite_initial_state_prop (equivocator_IM IM) is
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors s
final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors' tr' = Some (trX', initial_descriptors)
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
HtrX': finite_valid_trace X' (equivocators_state_project IM initial_descriptors is) trX'
Hprojectx: equivocators_transition_item_project IM final_descriptors {| l := l; input := iom; destination := s; output := oom |} = Some (None, final_descriptors')
Hitemx: True
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')
Hproper': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is tr')
Htr': finite_valid_trace FreeE is tr'
Htr'pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr'
Hproper_initial: proper_fixed_equivocator_descriptors initial_descriptors isequivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
is: composite_state (equivocator_IM IM)
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
final_descriptors, final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hx: equivocators_state_project IM final_descriptors s = equivocators_state_project IM final_descriptors' (finite_trace_last is tr')equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
is: composite_state (equivocator_IM IM)
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
final_descriptors, final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hx: equivocators_state_project IM final_descriptors s = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'equivocators_state_project IM final_descriptors final_state = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
is: composite_state (equivocator_IM IM)
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
final_descriptors, final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hx: equivocators_state_project IM final_descriptors s = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'equivocators_state_project IM final_descriptors final_state = equivocators_state_project IM final_descriptors smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
is: composite_state (equivocator_IM IM)
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
final_descriptors, final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hx: equivocators_state_project IM final_descriptors s = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'final_state = smessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
is: composite_state (equivocator_IM IM)
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
final_descriptors, final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hx: equivocators_state_project IM final_descriptors s = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]) = sreflexivity. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
is: composite_state (equivocator_IM IM)
tr': list (composite_transition_item (equivocator_IM IM))
l: _composite_label (equivocator_IM IM)
iom: option message
s: _composite_state (equivocator_IM IM)
oom: option message
final_state:= finite_trace_last is (tr' ++ [{| l := l; input := iom; destination := s; output := oom |}]): _composite_state (equivocator_IM IM)
final_descriptors, final_descriptors': equivocator_descriptors IM
trX': list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hstate_project: equivocators_state_project IM final_descriptors' (finite_trace_last is tr') = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'
Hx: equivocators_state_project IM final_descriptors s = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX'destination {| l := l; input := iom; destination := s; output := oom |} = s
Instantiating the lemma above with the free constraint.
message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace (free_composite_vlsm IM) isX trXapply _equivocators_valid_trace_project; [assumption | assumption| ..] ; unfold constraint_has_been_sent_prop; intros; exact I. Qed.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace (free_composite_vlsm IM) isX trX
A message sent by a non-state-equivocating machine can be observed in any
projection of the final state.
message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
lst:= finite_trace_last is tr: state
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors lsthas_been_observed Free (equivocators_state_project IM descriptors lst) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
lst:= finite_trace_last is tr: state
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors lsthas_been_observed Free (equivocators_state_project IM descriptors lst) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
lst:= finite_trace_last is tr: state
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors lst
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXhas_been_observed Free (equivocators_state_project IM descriptors lst) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXhas_been_observed Free (equivocators_state_project IM descriptors (finite_trace_last is tr)) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXhas_been_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXfinite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trhas_been_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXfinite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXfinite_valid_trace XE is tr → finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXVLSM_incl_part (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) (pre_loaded_with_all_messages_vlsm_machine FreeE)apply equivocators_fixed_equivocations_vlsm_incl_free.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXVLSM_incl (mk_vlsm {| transition := composite_transition (equivocator_IM IM); valid := constrained_composite_valid (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating) |}) (mk_vlsm (machine FreeE))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trhas_been_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trfinite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXhas_been_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trfinite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trfinite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX → finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXapply vlsm_incl_pre_loaded_with_all_messages_vlsm.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trVLSM_incl_part (composite_vlsm_machine IM (free_constraint IM)) (pre_loaded_with_all_messages_vlsm_machine Free)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXhas_been_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXvalid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)has_been_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXvalid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)apply HtrX_Pre.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXfinite_valid_trace_from (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)has_been_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)has_been_received Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) m ∨ has_been_sent Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)has_been_sent Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)selected_message_exists_in_all_preloaded_traces Free (field_selector output) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)selected_message_exists_in_some_preloaded_traces Free (field_selector output) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: ∃ l1 l2 : list transition_item, tr = l1 ++ item :: l2
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
pre, suf: list transition_item
Hitem: tr = pre ++ item :: suf
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
pre, suf: list transition_item
Hitem: tr = pre ++ [item] ++ suf
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating) (destination item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace_from XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating) (destination item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating) (destination item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace_from XE is (pre ++ [item]) ∧ finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating) (destination item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace_from XE is (pre ++ [item])
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating) (destination item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: valid_state_prop XE (finite_trace_last is (pre ++ [item]))
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating) (destination item)assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: valid_state_prop XE (destination item)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)valid_state_prop (equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating) (destination item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: ∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX, eqv_descriptors') ∧ equivocators_trace_project IM eqv_descriptors' pre = Some (preX, initial_descriptors) ∧ trX = preX ++ sufX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
preX', sufX': list (composite_transition_item IM)
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HpreX: trX = preX' ++ sufX'
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))trace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))trace_has_message (field_selector output) m (preX' ++ sufX')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) preX' ∨ Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Htr_Pre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Htr_Pre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre ∧ finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM descriptors ([item] ++ suf) = Some (sufX', eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
Hpr_suf: ∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors'0 : equivocator_descriptors IM), equivocators_trace_project IM descriptors suf = Some (sufX, eqv_descriptors'0) ∧ equivocators_trace_project IM eqv_descriptors'0 [item] = Some (preX, eqv_descriptors') ∧ sufX' = preX ++ sufX
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
eqv_descriptors': equivocator_descriptors IM
pre_itemX, sufX'': list (composite_transition_item IM)
eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
HsufX': sufX' = pre_itemX ++ sufX''
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX'))
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ sufX')
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) sufX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) (pre_itemX ++ sufX'')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) pre_itemX ∨ Exists (field_selector output m) sufX''message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item] ∧ finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))∀ i : index, i ∉ equivocating → eqv_descriptors'' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Heqv_descriptors'': ∀ i : index, i ∉ equivocating → eqv_descriptors'' i = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))∀ i : index, i ∉ equivocating → eqv_descriptors'' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Hpr: ∀ (idescriptors : equivocator_descriptors IM) (trX : list (composite_transition_item IM)), equivocators_trace_project IM descriptors suf = Some (trX, idescriptors) → ∀ i : index, descriptors i = Existing 0 → idescriptors i = Existing 0∀ i : index, i ∉ equivocating → eqv_descriptors'' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Hpr: ∀ i : index, descriptors i = Existing 0 → eqv_descriptors'' i = Existing 0∀ i : index, i ∉ equivocating → eqv_descriptors'' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Hpr: ∀ i : index, descriptors i = Existing 0 → eqv_descriptors'' i = Existing 0
i: index
Hi: i ∉ equivocatingeqv_descriptors'' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Hpr: ∀ i : index, descriptors i = Existing 0 → eqv_descriptors'' i = Existing 0
i: index
Hi: i ∉ equivocatingdescriptors i = Existing 0assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Hpr: ∀ i : index, descriptors i = Existing 0 → eqv_descriptors'' i = Existing 0
i: index
Hi: i ∉ equivocatingi ∉ equivocatingmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Heqv_descriptors'': ∀ i : index, i ∉ equivocating → eqv_descriptors'' i = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: equivocators_trace_project IM eqv_descriptors'' [item] = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Heqv_descriptors'': eqv_descriptors'' (projT1 (l item)) = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ item :: suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: output item = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ item :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ item :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: match equivocators_transition_item_project IM eqv_descriptors'' item with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Heqv_descriptors'': eqv_descriptors'' (projT1 (l item)) = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
item: transition_item
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ item :: suf)
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: output item = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ item :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ item :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' item = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [item]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [item]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))
Heqv_descriptors'': eqv_descriptors'' (projT1 (l item)) = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
l: label
input: option message
destination: state
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 (VLSM.l {| l := l; input := input; destination := destination; output := output |}) ∉ equivocating
m: message
Hm: VLSM.output {| l := l; input := input; destination := destination; output := output |} = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (VLSM.l {| l := l; input := input; destination := destination; output := output |}))) (VLSM.destination {| l := l; input := input; destination := destination; output := output |} (projT1 (VLSM.l {| l := l; input := input; destination := destination; output := output |})))
Heqv_descriptors'': eqv_descriptors'' (projT1 (VLSM.l {| l := l; input := input; destination := destination; output := output |})) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
l: _composite_label (equivocator_IM IM)
input: option message
destination: _composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 l ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 l)) (destination (projT1 l))
Heqv_descriptors'': eqv_descriptors'' (projT1 l) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
l: _composite_label (equivocator_IM IM)
input: option message
destination: _composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 l ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: input_valid_transition (pre_loaded_with_all_messages_vlsm FreeE) (VLSM.l {| l := l; input := input; destination := destination; output := output |}) (finite_trace_last is pre, VLSM.input {| l := l; input := input; destination := destination; output := output |}) (VLSM.destination {| l := l; input := input; destination := destination; output := output |}, VLSM.output {| l := l; input := input; destination := destination; output := output |})
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 l)) (destination (projT1 l))
Heqv_descriptors'': eqv_descriptors'' (projT1 l) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
l: _composite_label (equivocator_IM IM)
input: option message
destination: _composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 l ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hpre_item_free: input_valid_transition (pre_loaded_with_all_messages_vlsm FreeE) l (finite_trace_last is pre, input) (destination, output)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 l)) (destination (projT1 l))
Heqv_descriptors'': eqv_descriptors'' (projT1 l) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
l: _composite_label (equivocator_IM IM)
input: option message
destination: _composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 l ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := l; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is pre, input)
Ht: transition l (finite_trace_last is pre, input) = (destination, output)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := l; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 l)) (destination (projT1 l))
Heqv_descriptors'': eqv_descriptors'' (projT1 l) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
destination: _composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: projT1 (existT x v) ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x v; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: composite_valid (equivocator_IM IM) (existT x v) (finite_trace_last is pre, input)
Ht: transition (existT x v) (finite_trace_last is pre, input) = (destination, output)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM (projT1 (existT x v))) (destination (projT1 (existT x v)))
Heqv_descriptors'': eqv_descriptors'' (projT1 (existT x v)) = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
destination: _composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: x ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x v; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: vvalid (equivocator_IM IM x) v (finite_trace_last is pre x, input)
Ht: vtransition FreeE (existT x v) (finite_trace_last is pre, input) = (destination, output)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) (destination x)
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
destination: _composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: x ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x v; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: vvalid (equivocator_IM IM x) v (finite_trace_last is pre x, input)
Ht: transition (existT x v) (finite_trace_last is pre, input) = (destination, output)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) (destination x)
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
destination: _composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: x ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x v; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: vvalid (equivocator_IM IM x) v (finite_trace_last is pre x, input)
Ht: (let (si', om') := vtransition (equivocator_IM IM x) v (finite_trace_last is pre x, input) in (state_update (equivocator_IM IM) (finite_trace_last is pre) x si', om')) = (destination, output)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) (destination x)
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
destination: _composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: x ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x v; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: vvalid (equivocator_IM IM x) v (finite_trace_last is pre x, input)
si': state
om': option message
Hti: vtransition (equivocator_IM IM x) v (finite_trace_last is pre x, input) = (si', om')
Ht: (state_update (equivocator_IM IM) (finite_trace_last is pre) x si', om') = (destination, output)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) (destination x)
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
destination: _composite_state (equivocator_IM IM)
output: option message
pre, suf: list transition_item
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)
Hitem_not_equiv: x ∉ equivocating
m: message
Hm: output = Some m
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := destination; output := output |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x v; input := input; destination := destination; output := output |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: vvalid (equivocator_IM IM x) v (finite_trace_last is pre x, input)
si': state
om': option message
Hti: vtransition (equivocator_IM IM x) v (finite_trace_last is pre x, input) = (si', om')
Ht: (state_update (equivocator_IM IM) (finite_trace_last is pre) x si', om') = (destination, output)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := destination; output := output |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) (destination x)
Heqv_descriptors'': eqv_descriptors'' x = Existing 0
H0: state_update (equivocator_IM IM) (finite_trace_last is pre) x si' = destination
H1: om' = outputExists (field_selector VLSM.output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
pre, suf: list transition_item
m: message
si': state
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: vvalid (equivocator_IM IM x) v (finite_trace_last is pre x, input)
Ht: (state_update (equivocator_IM IM) (finite_trace_last is pre) x si', Some m) = (state_update (equivocator_IM IM) (finite_trace_last is pre) x si', Some m)
Hti: vtransition (equivocator_IM IM x) v (finite_trace_last is pre x, input) = (si', Some m)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) (state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x)
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
pre, suf: list transition_item
m: message
si': state
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: vvalid (equivocator_IM IM x) v (finite_trace_last is pre x, input)
Ht: (state_update (equivocator_IM IM) (finite_trace_last is pre) x si', Some m) = (state_update (equivocator_IM IM) (finite_trace_last is pre) x si', Some m)
Hti: vtransition (equivocator_IM IM x) v (finite_trace_last is pre x, input) = (si', Some m)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
pre, suf: list transition_item
m: message
si': state
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: vvalid (equivocator_IM IM x) v (finite_trace_last is pre x, input)
Hti: vtransition (equivocator_IM IM x) v (finite_trace_last is pre x, input) = (si', Some m)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
pre, suf: list transition_item
m: message
si': state
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: equivocators_transition_item_project IM eqv_descriptors'' {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: vvalid (equivocator_IM IM x) v (finite_trace_last is pre x, input)
Hti: vtransition (equivocator_IM IM x) v (finite_trace_last is pre x, input) = (si', Some m)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0
li: vlabel (IM x)
Hsndv: v = ContinueWith 0 liExists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
pre, suf: list transition_item
m: message
si': state
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM (projT1 (l {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}))) (composite_transition_item_projection (equivocator_IM IM) {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}) (eqv_descriptors'' (projT1 (l {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}))) with | Some (Some item', deqv') => Some (Some {| l := existT (projT1 (l {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})) (l item'); input := VLSM.input {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}; destination := equivocators_state_project IM eqv_descriptors'' (destination {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}); output := output {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} |}, equivocator_descriptors_update IM eqv_descriptors'' (projT1 (l {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})) deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' (projT1 (l {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})) deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: vvalid (equivocator_IM IM x) v (finite_trace_last is pre x, input)
Hti: vtransition (equivocator_IM IM x) v (finite_trace_last is pre x, input) = (si', Some m)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0
li: vlabel (IM x)
Hsndv: v = ContinueWith 0 liExists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
v: vlabel (equivocator_IM IM x)
input: option message
pre, suf: list transition_item
m: message
si': state
Htr: finite_valid_trace XE is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) (composite_transition_item_projection (equivocator_IM IM) {| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}) (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hv: vvalid (equivocator_IM IM x) v (finite_trace_last is pre x, input)
Hti: vtransition (equivocator_IM IM x) v (finite_trace_last is pre x, input) = (si', Some m)
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x v; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0
li: vlabel (IM x)
Hsndv: v = ContinueWith 0 liExists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) (composite_transition_item_projection (equivocator_IM IM) {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}) (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) (composite_transition_item_projection_from_eq (equivocator_IM IM) {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} (projT1 (l {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})) eq_refl) (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) {| l := eq_rect_r (λ n : index, vlabel (equivocator_IM IM n)) (projT2 (l {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})) eq_refl; input := VLSM.input {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}; destination := destination {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} (projT1 (l {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |})); output := output {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} |} (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) {| l := eq_rect_r (λ n : index, vlabel (equivocator_IM IM n)) (ContinueWith 0 li) eq_refl; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x; output := Some m |} (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) {| l := eq_rect x (λ y : index, vlabel (equivocator_IM IM y)) (ContinueWith 0 li) x (eq_sym eq_refl); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x; output := Some m |} (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) {| l := ContinueWith 0 li; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x; output := Some m |} (eqv_descriptors'' x) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match equivocator_vlsm_transition_item_project (IM x) {| l := ContinueWith 0 li; input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x; output := Some m |} (Existing 0) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match match equivocator_state_project (state_update (equivocator_IM IM) (finite_trace_last is pre) x si' x) 0 with | Some sj => if decide (0 = 0) then Some ( Some {| l := li; input := input; destination := sj; output := Some m |}, Existing 0) else Some (None, Existing 0) | None => None end with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match match equivocator_state_project si' 0 with | Some sj => if decide (0 = 0) then Some ( Some {| l := li; input := input; destination := sj; output := Some m |}, Existing 0) else Some (None, Existing 0) | None => None end with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: match (if decide (0 = 0) then Some (Some {| l := li; input := input; destination := equivocator_state_zero si'; output := Some m |}, Existing 0) else Some (None, Existing 0)) with | Some (Some item', deqv') => Some (Some {| l := existT x (l item'); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM eqv_descriptors'' x deqv') | None => None end = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: Some (Some {| l := existT x (l {| l := li; input := input; destination := equivocator_state_zero si'; output := Some m |}); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
o: option (composite_transition_item IM)
odescriptor: equivocator_descriptors IM
Hpr: Some (Some {| l := existT x (l {| l := li; input := input; destination := equivocator_state_zero si'; output := Some m |}); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (o, odescriptor)
Hpr_pre_item: match o with | Some item' => Some ([item'], odescriptor) | None => Some ([], odescriptor) end = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0
H0: Some {| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |} = o
H1: equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0) = odescriptorExists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr: Some (Some {| l := existT x (l {| l := li; input := input; destination := equivocator_state_zero si'; output := Some m |}); input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (Some {| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}, equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0))
Hpr_pre_item: Some ([{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}], equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: Some ([{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}], equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) pre_itemXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', pre_itemX, sufX'': list (composite_transition_item IM)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
eqv_descriptors', eqv_descriptors'': equivocator_descriptors IM
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre_item: Some ([{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}], equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some (pre_itemX, eqv_descriptors')
Hpr_pre: equivocators_trace_project IM eqv_descriptors' pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX'')
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ pre_itemX ++ sufX''))
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0
H0: [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] = pre_itemX
H1: equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0) = eqv_descriptors'Exists (field_selector output m) [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}]message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX'': list (composite_transition_item IM)
eqv_descriptors'': equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX'')
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre: equivocators_trace_project IM (equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) pre = Some (preX', initial_descriptors)
Hpr_pre_item: Some ([{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}], equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) = Some ([{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}], equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0))
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX''))
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX'')
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}]message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX'': list (composite_transition_item IM)
eqv_descriptors'': equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX'')
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre: equivocators_trace_project IM (equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX''))
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX'')
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0Exists (field_selector output m) [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}]reflexivity.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
x: index
input: option message
pre, suf: list transition_item
m: message
si': state
li: vlabel (IM x)
Htr: finite_valid_trace XE is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)
Hitem_not_equiv: x ∉ equivocating
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf))
initial_descriptors: equivocator_descriptors IM
preX', sufX'': list (composite_transition_item IM)
eqv_descriptors'': equivocator_descriptors IM
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX'')
Hpr_suf': equivocators_trace_project IM descriptors suf = Some (sufX'', eqv_descriptors'')
Hpr_pre: equivocators_trace_project IM (equivocator_descriptors_update IM eqv_descriptors'' x (Existing 0)) pre = Some (preX', initial_descriptors)
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX'')
Hpre'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is pre
Hsuf'_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) [{| l := existT x (ContinueWith 0 li); input := input; destination := state_update (equivocator_IM IM) (finite_trace_last is pre) x si'; output := Some m |}]) suf
Hti: vtransition (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input) = (si', Some m)
Hv: vvalid (equivocator_IM IM x) (ContinueWith 0 li) (finite_trace_last is pre x, input)
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX''))
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) (preX' ++ [{| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}] ++ sufX'')
Hsingleton_d_item: is_singleton_state (IM x) si'
Heqv_descriptors'': eqv_descriptors'' x = Existing 0field_selector output m {| l := existT x li; input := input; destination := equivocators_state_project IM eqv_descriptors'' (state_update (equivocator_IM IM) (finite_trace_last is pre) x si'); output := Some m |}message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)HasBeenReceivedCapability Freemessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)HasBeenSentCapability Freeassumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)HasBeenReceivedCapability Freeassumption. Qed.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
item: transition_item
Hitem: item ∈ tr
Hitem_not_equiv: projT1 (l item) ∉ equivocating
m: message
Hm: field_selector output m item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX_Free: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
Htr_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is tr
HtrX_Pre: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hlst_preX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)HasBeenSentCapability Free
Consider a valid_trace for the composition of equivocators with
no message equivocation and fixed state equivocation.
Because any of its projections to the composition of original nodes contains
all transitions from nodes not allowed to equivocate, then a final state of
such a projection will be able to observe all messages sent or received by
non-equivocating nodes in the initial trace.
Therefore if seeding the composition of equivocating nodes with these
messages, the restriction of the initial trace to only the equivocating
nodes will satisfy the trace_sub_item_input_is_seeded_or_sub_previously_sent
property w.r.t. these messages, a sufficient condition for it being
valid (finite_valid_trace_sub_projection).
message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) lst_trX) trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) lst_trX) trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating itemno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXfinite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trXfinite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trXfinite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX → finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXapply vlsm_incl_pre_loaded_with_all_messages_vlsm.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trXVLSM_incl_part (composite_vlsm_machine IM (free_constraint IM)) (pre_loaded_with_all_messages_vlsm_machine (free_composite_vlsm IM))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXvalid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXvalid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXvalid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors s)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXvalid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors (finite_trace_last is tr))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXvalid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors (finite_trace_last is tr))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXvalid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors (finite_trace_last is tr))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXvalid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)apply HtrXPre.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trXfinite_valid_trace_from (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXfinite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXfinite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXfinite_valid_trace XE is tr → finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXVLSM_incl_part (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) (pre_loaded_with_all_messages_vlsm_machine FreeE)apply vlsm_incl_pre_loaded_with_all_messages_vlsm.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXVLSM_incl (mk_vlsm (machine FreeE)) (mk_vlsm {| transition := vtransition FreeE; valid := vvalid FreeE |})message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
tr: list (vtransition_item XE)
s:= finite_trace_last is tr: state
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Heq: tr = pre ++ [item] ++ suf
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is trno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is (pre ++ [item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is (pre ++ [item] ++ suf)
Hsuf: finite_valid_trace_from XE is pre ∧ finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is (pre ++ [item] ++ suf)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is (pre ++ [item]) ∧ finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is (pre ++ [item])
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre ∧ finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trXno_additional_equivocations (free_composite_vlsm IM) lst_trX m ∨ (∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ no_additional_equivocations Free lst_trX m∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX mfinite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX mfinite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX mfinite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf) → finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX mVLSM_incl_part (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) (pre_loaded_with_all_messages_vlsm_machine FreeE)apply vlsm_incl_pre_loaded_with_all_messages_vlsm.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX mVLSM_incl (mk_vlsm (machine FreeE)) (mk_vlsm {| transition := vtransition FreeE; valid := vvalid FreeE |})message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) smessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) smessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) ([item] ++ suf))valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) smessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)): vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) ([item] ++ suf))valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [item] ++ suf))assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)): vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [item] ++ suf))
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) ([item] ++ suf))valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last (finite_trace_last is pre) ([item] ++ suf))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (l item) (finite_trace_last is pre, input item) (destination item, output item)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([item] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [item] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input item = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating item
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [item] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [item] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([item] ++ suf)
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
iom: option message
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := iom; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (VLSM.l {| l := l; input := iom; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := iom; destination := s0; output := oom |}) (destination {| l := l; input := iom; destination := s0; output := oom |}, output {| l := l; input := iom; destination := s0; output := oom |})
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: input {| l := l; input := iom; destination := s0; output := oom |} = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := iom; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
iom: option message
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := iom; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hivt: input_valid_transition XE (VLSM.l {| l := l; input := iom; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := iom; destination := s0; output := oom |}) (destination {| l := l; input := iom; destination := s0; output := oom |}, output {| l := l; input := iom; destination := s0; output := oom |})
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: iom = Some m
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := iom; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := iom; destination := s0; output := oom |}] ++ suf)
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hivt: input_valid_transition XE (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}) (destination {| l := l; input := Some m; destination := s0; output := oom |}, output {| l := l; input := Some m; destination := s0; output := oom |})
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_no_equivocations (equivocator_IM IM) (equivocator_Hbs IM Hbs) (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |})
Hfixed: state_has_fixed_equivocation IM index_listing equivocating (composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |})).1
Ht: transition (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}) = (destination {| l := l; input := Some m; destination := s0; output := oom |}, output {| l := l; input := Some m; destination := s0; output := oom |})
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_no_equivocations (equivocator_IM IM) (equivocator_Hbs IM Hbs) (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |})
Hfixed: state_has_fixed_equivocation IM index_listing equivocating (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is pre i, Some m) in (state_update (equivocator_IM IM) (finite_trace_last is pre) i si', om')).1
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is pre i, Some m) in (state_update (equivocator_IM IM) (finite_trace_last is pre) i si', om')) = (s0, oom)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_no_equivocations (equivocator_IM IM) (equivocator_Hbs IM Hbs) (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |})
Hfixed: state_has_fixed_equivocation IM index_listing equivocating (s0, oom).1
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is pre i, Some m) in (state_update (equivocator_IM IM) (finite_trace_last is pre) i si', om')) = (s0, oom)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_no_equivocations (equivocator_IM IM) (equivocator_Hbs IM Hbs) (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |})
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
Ht: (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (finite_trace_last is pre i, Some m) in (state_update (equivocator_IM IM) (finite_trace_last is pre) i si', om')) = (s0, oom)
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_no_equivocations (equivocator_IM IM) (equivocator_Hbs IM Hbs) (VLSM.l {| l := l; input := Some m; destination := s0; output := oom |}) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |})
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)finite_valid_trace FreeE is premessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)finite_valid_trace FreeE is premessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)finite_valid_trace_from FreeE is premessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)finite_valid_trace_from XE is pre → finite_valid_trace_from FreeE is preapply equivocators_fixed_equivocations_vlsm_incl_free.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)VLSM_incl_part (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) (composite_vlsm_machine (equivocator_IM IM) (free_constraint (equivocator_IM IM)))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is prevalid_state_prop FreeE (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is prevalid_state_prop FreeE (finite_trace_last is pre)apply Hpre_free.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is prefinite_valid_trace_from FreeE is premessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: composite_has_been_sent (equivocator_IM IM) (equivocator_Hbs IM Hbs) (finite_trace_last is pre, input {| l := l; input := Some m; destination := s0; output := oom |}).1 m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hproper_sent: has_been_sent FreeE (finite_trace_last is pre) m → specialized_selected_message_exists_in_all_traces FreeE (field_selector output) (finite_trace_last is pre) m∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: specialized_selected_message_exists_in_all_traces FreeE (field_selector output) (finite_trace_last is pre) m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hproper_sent: has_been_sent FreeE (finite_trace_last is pre) m → specialized_selected_message_exists_in_all_traces FreeE (field_selector output) (finite_trace_last is pre) m∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: specialized_selected_message_exists_in_all_traces FreeE (field_selector output) (finite_trace_last is pre) m
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: trace_has_message (field_selector output) m pre
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hc: ∃ x : transition_item, x ∈ pre ∧ field_selector output m x
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∃ pre_item : transition_item, pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)pre_item ∈ pre ∧ output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)output pre_item = Some m ∧ from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: equivocators_trace_project IM descriptors (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, initial_descriptors)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
Htr_project: ∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, eqv_descriptors') ∧ equivocators_trace_project IM eqv_descriptors' pre = Some (preX, initial_descriptors) ∧ trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∀ i : index, i ∉ equivocating → final_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)): vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors (finite_trace_last (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)): vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors (finite_trace_last (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)): vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
_sufX: list (composite_transition_item IM)
_final_descriptors': equivocator_descriptors IM
_Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (_sufX, _final_descriptors')
Hproper': proper_equivocator_descriptors IM _final_descriptors' (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors (finite_trace_last (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)): vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
_sufX: list (composite_transition_item IM)
_final_descriptors': equivocator_descriptors IM
_Hsuf_project: Some (sufX, final_descriptors') = Some (_sufX, _final_descriptors')
Hproper': proper_equivocator_descriptors IM _final_descriptors' (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors (finite_trace_last (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)): vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
_sufX: list (composite_transition_item IM)
_final_descriptors': equivocator_descriptors IM
_Hsuf_project: Some (sufX, final_descriptors') = Some (_sufX, _final_descriptors')
Hproper': proper_equivocator_descriptors IM _final_descriptors' (finite_trace_last is pre)
H0: sufX = _sufX
H1: final_descriptors' = _final_descriptors'proper_equivocator_descriptors IM _final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors (finite_trace_last (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)): vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)
_Hsuf_project: Some (sufX, final_descriptors') = Some (sufX, final_descriptors')proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_equivocator_descriptors IM descriptors (finite_trace_last (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
lst_trX:= equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)): vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hproper': proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)proper_equivocator_descriptors IM final_descriptors' (finite_trace_last is pre)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)∀ i : index, i ∉ equivocating → final_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hpr: ∀ (idescriptors : equivocator_descriptors IM) (trX : list (composite_transition_item IM)), equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (trX, idescriptors) → ∀ i : index, descriptors i = Existing 0 → idescriptors i = Existing 0∀ i : index, i ∉ equivocating → final_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hpr: ∀ i : index, descriptors i = Existing 0 → final_descriptors' i = Existing 0∀ i : index, i ∉ equivocating → final_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hpr: ∀ i : index, descriptors i = Existing 0 → final_descriptors' i = Existing 0
i: index
Hi: i ∉ equivocatingfinal_descriptors' i = Existing 0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hpr: ∀ i : index, descriptors i = Existing 0 → final_descriptors' i = Existing 0
i: index
Hi: i ∉ equivocatingdescriptors i = Existing 0assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hpr: ∀ i : index, descriptors i = Existing 0 → final_descriptors' i = Existing 0
i: index
Hi: i ∉ equivocatingi ∉ equivocatingmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: ∃ l1 l2 : list transition_item, pre = l1 ++ pre_item :: l2
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = pre_pre ++ pre_item :: pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = pre_pre ++ [pre_item] ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = (pre_pre ++ [pre_item]) ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = (pre_pre ++ [pre_item]) ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = (pre_pre ++ [pre_item]) ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = (pre_pre ++ [pre_item]) ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ∧ finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}])) suf
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hpre_item: pre = (pre_pre ++ [pre_item]) ++ pre_suf
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_s0: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}])
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hsuf: finite_valid_trace_from XE (finite_trace_last is ((pre_pre ++ [pre_item]) ++ pre_suf)) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre: finite_valid_trace_from XE is ((pre_pre ++ [pre_item]) ++ pre_suf)
Htr: finite_valid_trace_from XE is ((((pre_pre ++ [pre_item]) ++ pre_suf) ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (((pre_pre ++ [pre_item]) ++ pre_suf) ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hproper: proper_fixed_equivocator_descriptors descriptors s
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' ((pre_pre ++ [pre_item]) ++ pre_suf) = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (((pre_pre ++ [pre_item]) ++ pre_suf) ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is ((pre_pre ++ [pre_item]) ++ pre_suf))
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is ((pre_pre ++ [pre_item]) ++ pre_suf))
Hpre_free: finite_valid_trace FreeE is ((pre_pre ++ [pre_item]) ++ pre_suf)
Htr_s0: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is (((pre_pre ++ [pre_item]) ++ pre_suf) ++ [{| l := l; input := Some m; destination := s0; output := oom |}])
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
n: ¬ has_been_observed Free lst_trX m
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is ((pre_pre ++ [pre_item]) ++ pre_suf)) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) sin_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: set index
index_listing: list index
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: vstate XE
l: label
s0: state
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Htr_s0: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is (((pre_pre ++ [pre_item]) ++ pre_suf) ++ [{| l := l; input := Some m; destination := s0; output := oom |}])in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: set index
index_listing: list index
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: vstate XE
l: label
s0: state
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Htr_s0: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is ((pre_pre ++ [pre_item]) ++ pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: set index
index_listing: list index
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: vstate XE
l: label
s0: state
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Htr_s0: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) is (pre_pre ++ [pre_item]) ∧ finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre_pre ++ [pre_item])) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: set index
index_listing: list index
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: vstate XE
l: label
s0: state
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hfuture: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre_pre ++ [pre_item])) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: set index
index_listing: list index
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: vstate XE
l: label
s0: state
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hfuture: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: set index
index_listing: list index
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: vstate XE
l: label
s0: state
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hfuture: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])finite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0 ?trrewrite finite_trace_last_is_last;reflexivity.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: set index
index_listing: list index
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
is: vstate XE
l: label
s0: state
oom: option message
m: message
pre_item: transition_item
pre_pre, pre_suf: list transition_item
Hfuture: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}])finite_trace_last (destination pre_item) (pre_suf ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) = s0message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: in_futures (pre_loaded_with_all_messages_vlsm FreeE) (destination pre_item) s0from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)from_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
_preX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (_preX, _initial_descriptors)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM _initial_descriptors is) _preXfrom_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
_preX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: Some (preX, initial_descriptors) = Some (_preX, _initial_descriptors)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM _initial_descriptors is) _preXfrom_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
_preX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: Some (preX, initial_descriptors) = Some (_preX, _initial_descriptors)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM _initial_descriptors is) _preX
H0: preX = _preX
H1: initial_descriptors = _initial_descriptorsfrom_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
_Htr_project: Some (preX, initial_descriptors) = Some (preX, initial_descriptors)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preXfrom_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preXfrom_sub_projection (equivocator_IM IM) equivocating pre_itemmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preXis_Some match decide (projT1 (VLSM.l pre_item) ∈ equivocating) with | left i_in => Some (composite_label_sub_projection (equivocator_IM IM) equivocating (VLSM.l pre_item) i_in) | right _ => None endmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingis_Some Nonemessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatinghas_been_observed Free lst_trX mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocating
Hobs_m: has_been_observed Free (equivocators_state_project IM final_descriptors' (finite_trace_last is pre)) mhas_been_observed Free lst_trX mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocating
Hobs_m: has_been_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) mhas_been_observed Free lst_trX mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatinghas_been_observed Free (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) m → has_been_observed Free lst_trX mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingoracle_stepwise_props item_sends_or_receives (has_been_observed Free)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingin_futures (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) lst_trXapply has_been_observed_stepwise_props.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingoracle_stepwise_props item_sends_or_receives (has_been_observed Free)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
lst_trX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free lst_trX m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) lst_trX
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingin_futures (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) lst_trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
s:= finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf): state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) s
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free (equivocators_state_project IM descriptors s) m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors s)
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingin_futures (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (equivocators_state_project IM descriptors s)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))) m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingin_futures (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))) m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingin_futures (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))) m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingin_futures (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
Heq: trX = preX ++ sufX
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) trX
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))) m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingin_futures (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))) m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingin_futures (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))) m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingin_futures (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: vstate XE
pre: list (composite_transition_item (equivocator_IM IM))
l: label
s0: state
oom: option message
suf: list (composite_transition_item (equivocator_IM IM))
m: message
Htr: finite_valid_trace_from XE is ((pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}]) ++ suf)
Hpre: finite_valid_trace_from XE is pre
Hsuf: finite_valid_trace_from XE (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
pre_item: transition_item
Hpre_item: pre_item ∈ pre
Hpre_m: field_selector output m pre_item
Hfixed: state_has_fixed_equivocation IM index_listing equivocating s0
His: initial_state_prop is
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hitem: from_sub_projection (equivocator_IM IM) equivocating {| l := l; input := Some m; destination := s0; output := oom |}
initial_descriptors: equivocator_descriptors IM
Hinitial_descriptors: proper_fixed_equivocator_descriptors initial_descriptors is
preX, sufX: list (composite_transition_item IM)
final_descriptors': equivocator_descriptors IM
Hsuf_project: equivocators_trace_project IM descriptors ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf) = Some (sufX, final_descriptors')
Htr_project: equivocators_trace_project IM final_descriptors' pre = Some (preX, initial_descriptors)
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
HtrXFree: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hfinal_state: equivocators_state_project IM descriptors (finite_trace_last is (pre ++ {| l := l; input := Some m; destination := s0; output := oom |} :: suf)) = finite_trace_last (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)
Hs_free: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))
Hsuf_free: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (finite_trace_last is pre) ([{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
n: ¬ has_been_observed Free (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf))) m
Hlst_trX: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM descriptors (finite_trace_last is (pre ++ [ {| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)))
Htr_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) is (pre ++ [{| l := l; input := Some m; destination := s0; output := oom |}] ++ suf)
Hpre_free: finite_valid_trace FreeE is pre
Hpre_lst_free: valid_state_prop FreeE (finite_trace_last is pre)
Hfinal': proper_fixed_equivocator_descriptors final_descriptors' (finite_trace_last is pre)
Hfutures: state_has_fixed_equivocation IM index_listing equivocating (destination pre_item)
Hpre_final_state: equivocators_state_project IM final_descriptors' (finite_trace_last is pre) = finite_trace_last (equivocators_state_project IM initial_descriptors is) preX
H: projT1 (VLSM.l pre_item) ∉ equivocatingfinite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX) sufXmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: set index
index_listing: list index
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
Free:= free_composite_vlsm IM: VLSM message
is: vstate XE
initial_descriptors: equivocator_descriptors IM
preX, sufX: list (composite_transition_item IM)
HtrXPre: finite_valid_trace (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)finite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX) sufXmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: set index
index_listing: list index
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
Free:= free_composite_vlsm IM: VLSM message
is: vstate XE
initial_descriptors: equivocator_descriptors IM
preX, sufX: list (composite_transition_item IM)
HtrXPre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) (preX ++ sufX)finite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX) sufXmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: set index
index_listing: list index
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
Free:= free_composite_vlsm IM: VLSM message
is: vstate XE
initial_descriptors: equivocator_descriptors IM
preX, sufX: list (composite_transition_item IM)
HtrXPre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) preX ∧ finite_valid_trace_from (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufXfinite_valid_trace_from_to (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) (finite_trace_last (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX) sufXapply HtrXPre. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
equivocating: set index
index_listing: list index
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
Free:= free_composite_vlsm IM: VLSM message
is: vstate XE
initial_descriptors: equivocator_descriptors IM
preX, sufX: list (composite_transition_item IM)
HtrXPre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (equivocators_state_project IM initial_descriptors is) preX ∧ finite_valid_trace_from (pre_loaded_with_all_messages_vlsm (free_composite_vlsm IM)) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufXfinite_valid_trace_from (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) preX) sufX
Because any of its projections to the composition of original nodes contains
all transitions from nodes not allowed to equivocate, all messages
sent by non-equivocating nodes in the original trace will also be sent
in any projection.
message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
item: composite_transition_item (equivocator_IM IM)
Hitem: ∃ l1 l2 : list (composite_transition_item (equivocator_IM IM)), tr = l1 ++ item :: l2
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heq_tr: tr = pre ++ item :: suf
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is tr)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heq_tr: tr = pre ++ [item] ++ suf
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors (pre ++ [item] ++ suf) = Some (trX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: ∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_trace_project IM final_descriptors ([item] ++ suf) = Some (sufX, eqv_descriptors') ∧ equivocators_trace_project IM eqv_descriptors' pre = Some (preX, initial_descriptors) ∧ trX = preX ++ sufX
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
Hpr_item_suf: equivocators_trace_project IM final_descriptors ([item] ++ suf) = Some (item_sufX, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Heq_trX: trX = preX ++ item_sufX
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
Hpr_item_suf: equivocators_trace_project IM final_descriptors ([item] ++ suf) = Some (item_sufX, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m (preX ++ item_sufX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
Hpr_item_suf: equivocators_trace_project IM final_descriptors ([item] ++ suf) = Some (item_sufX, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) preX ∨ Exists (field_selector output m) item_sufXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
Hpr_item_suf: equivocators_trace_project IM final_descriptors ([item] ++ suf) = Some (item_sufX, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) item_sufXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
Hpr_item_suf: ∃ (preX sufX : list (composite_transition_item IM)) (eqv_descriptors' : equivocator_descriptors IM), equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_descriptors') ∧ equivocators_trace_project IM eqv_descriptors' [item] = Some (preX, eqv_pre) ∧ item_sufX = preX ++ sufX
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) item_sufXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX, item_sufX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Heq_item_sufX: item_sufX = itemXs ++ sufX
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) item_sufXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) (itemXs ++ sufX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXs ∨ Exists (field_selector output m) sufXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is (pre ++ [item] ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is ((pre ++ [item]) ++ suf)
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_from XE is (pre ++ [item]) ∧ finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hpre: finite_valid_trace_from XE is (pre ++ [item])
Hsuf: finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hpre: finite_valid_trace_from XE is pre ∧ finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last is (pre ++ [item] ++ suf))
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (finite_trace_last is (pre ++ [item])) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (finite_trace_last is (pre ++ [item])) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingfinite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) sufmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) sufExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingfinite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) sufmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingfinite_valid_trace_from XE (destination item) suf → finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) sufmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingVLSM_incl_part (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) (pre_loaded_with_all_messages_vlsm_machine FreeE)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingVLSM_incl (mk_vlsm {| transition := composite_transition (equivocator_IM IM); valid := constrained_composite_valid (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating) |}) (mk_vlsm (machine FreeE))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingVLSM_incl (mk_vlsm (machine FreeE)) (mk_vlsm {| transition := vtransition FreeE; valid := vvalid FreeE |})apply equivocators_fixed_equivocations_vlsm_incl_free.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingVLSM_incl (mk_vlsm {| transition := composite_transition (equivocator_IM IM); valid := constrained_composite_valid (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating) |}) (mk_vlsm (machine FreeE))apply vlsm_incl_pre_loaded_with_all_messages_vlsm.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocatingVLSM_incl (mk_vlsm (machine FreeE)) (mk_vlsm {| transition := vtransition FreeE; valid := vvalid FreeE |})message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) sufExists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) suf
Hproper_item: proper_fixed_equivocator_descriptors eqv_item (destination item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: ∀ i : index, i ∉ equivocating → eqv_item i = Existing 0Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item))) → ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some ( Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item))) → ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some ( Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some ( Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item))) → ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some ( Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item)))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item))) → ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some ( Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)valid_state_prop (equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating) (destination item)assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: valid_state_prop XE (finite_trace_last (finite_trace_last is pre) [item])
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: is_singleton_state (IM (projT1 (l item))) (destination item (projT1 (l item))) → ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some ( Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)valid_state_prop (equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating) (destination item)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [item]
Hsuf: finite_valid_trace_from XE (destination item) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination item) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [item] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output item = Some m
Hno_equiv_item: projT1 (l item) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination item) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination item)
Hproper_fixed_item: eqv_item (projT1 (l item)) = Existing 0
Hex: ∀ s : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (l item) (s, input item) → composite_transition (equivocator_IM IM) (l item) (s, input item) = (destination item, output item) → ∃ Hex : existing_equivocator_label (IM (projT1 (l item))) (projT2 (l item)), let lx := existT (projT1 (l item)) (existing_equivocator_label_extract (IM (projT1 (l item))) (projT2 (l item)) Hex) in equivocators_transition_item_project IM eqv_item item = Some ( Some {| l := lx; input := input item; destination := equivocators_state_project IM eqv_item (destination item); output := output item |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
l: label
iom: option message
s: state
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: finite_valid_trace_from XE (finite_trace_last is pre) [{| l := l; input := iom; destination := s; output := oom |}]
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: ∀ s0 : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) → composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → ∃ Hex : existing_equivocator_label (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})), let lx := existT (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (existing_equivocator_label_extract (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) Hex) in equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some ( Some {| l := lx; input := input {| l := l; input := iom; destination := s; output := oom |}; destination := equivocators_state_project IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |}); output := output {| l := l; input := iom; destination := s; output := oom |} |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
l: label
iom: option message
s: state
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: input_valid_transition XE (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (finite_trace_last is pre, input {| l := l; input := iom; destination := s; output := oom |}) (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |})
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: ∀ s0 : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) → composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → ∃ Hex : existing_equivocator_label (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})), let lx := existT (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (existing_equivocator_label_extract (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) Hex) in equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some ( Some {| l := lx; input := input {| l := l; input := iom; destination := s; output := oom |}; destination := equivocators_state_project IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |}); output := output {| l := l; input := iom; destination := s; output := oom |} |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
l: label
iom: option message
s: state
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hitem: input_valid_transition XE l (finite_trace_last is pre, iom) (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: ∀ s0 : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) → composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → ∃ Hex : existing_equivocator_label (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})), let lx := existT (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (existing_equivocator_label_extract (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) Hex) in equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some ( Some {| l := lx; input := input {| l := l; input := iom; destination := s; output := oom |}; destination := equivocators_state_project IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |}); output := output {| l := l; input := iom; destination := s; output := oom |} |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
l: label
iom: option message
s: state
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: ∀ s0 : composite_state (equivocator_IM IM), composite_valid (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) → composite_transition (equivocator_IM IM) (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) (s0, input {| l := l; input := iom; destination := s; output := oom |}) = (destination {| l := l; input := iom; destination := s; output := oom |}, output {| l := l; input := iom; destination := s; output := oom |}) → ∃ Hex : existing_equivocator_label (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})), let lx := existT (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) (existing_equivocator_label_extract (IM (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}))) (projT2 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) Hex) in equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some ( Some {| l := lx; input := input {| l := l; input := iom; destination := s; output := oom |}; destination := equivocators_state_project IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |}); output := output {| l := l; input := iom; destination := s; output := oom |} |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
l: label
iom: option message
s: state
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: ∀ s0 : composite_state (equivocator_IM IM), (let (i, li) := l in vvalid (equivocator_IM IM i) li (s0 i, iom)) → (let (i, li) := l in let (si', om') := vtransition (equivocator_IM IM i) li (s0 i, iom) in (state_update (equivocator_IM IM) s0 i si', om')) = (s, oom) → ∃ Hex : existing_equivocator_label (IM (projT1 l)) (projT2 l), equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some ( Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
l: label
iom: option message
s: state
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex': existing_equivocator_label (IM (projT1 l)) (projT2 l)
Hex: equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
l: label
iom: option message
s: state
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: equivocators_trace_project IM eqv_item [{| l := l; input := iom; destination := s; output := oom |}] = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex': existing_equivocator_label (IM (projT1 l)) (projT2 l)
Hex: equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
l: label
iom: option message
s: state
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hpr_item: match equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} with | Some (Some item', odescriptor) => Some ([item'], odescriptor) | Some (None, odescriptor) => Some ([], odescriptor) | None => None end = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex': existing_equivocator_label (IM (projT1 l)) (projT2 l)
Hex: equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
l: label
iom: option message
s: state
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hex': existing_equivocator_label (IM (projT1 l)) (projT2 l)
Hpr_item: Some ([{| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}], eqv_item) = Some (itemXs, eqv_pre)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) itemXsmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
l: label
iom: option message
s: state
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hex': existing_equivocator_label (IM (projT1 l)) (projT2 l)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)Exists (field_selector output m) [{| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_pre s; output := oom |}]assumption. Qed.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: composite_state (equivocator_IM IM)
l: label
iom: option message
s: state
oom: option message
pre, suf: list (composite_transition_item (equivocator_IM IM))
Hs: valid_state_prop XE (finite_trace_last is pre)
Hiom: option_valid_message_prop XE iom
Hv: composite_valid (equivocator_IM IM) l (finite_trace_last is pre, iom)
Hc: equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating l (finite_trace_last is pre, iom)
Ht: transition l (finite_trace_last is pre, iom) = (s, oom)
Hsuf: finite_valid_trace_from XE (destination {| l := l; input := iom; destination := s; output := oom |}) suf
m: message
final_descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last (destination {| l := l; input := iom; destination := s; output := oom |}) suf)
initial_descriptors: equivocator_descriptors IM
preX: list (composite_transition_item IM)
eqv_pre: equivocator_descriptors IM
itemXs, sufX: list (composite_transition_item IM)
eqv_item: equivocator_descriptors IM
Hpr_suf: equivocators_trace_project IM final_descriptors suf = Some (sufX, eqv_item)
Hex': existing_equivocator_label (IM (projT1 l)) (projT2 l)
Hpr_pre: equivocators_trace_project IM eqv_pre pre = Some (preX, initial_descriptors)
Houtput: output {| l := l; input := iom; destination := s; output := oom |} = Some m
Hno_equiv_item: projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |}) ∉ equivocating
Hsufpre: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) (destination {| l := l; input := iom; destination := s; output := oom |}) suf
Hproper_item: proper_equivocator_descriptors IM eqv_item (destination {| l := l; input := iom; destination := s; output := oom |})
Hproper_fixed_item: eqv_item (projT1 (VLSM.l {| l := l; input := iom; destination := s; output := oom |})) = Existing 0
Hex: equivocators_transition_item_project IM eqv_item {| l := l; input := iom; destination := s; output := oom |} = Some (Some {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_item s; output := oom |}, eqv_item)field_selector output m {| l := existT (projT1 l) (existing_equivocator_label_extract (IM (projT1 l)) (projT2 l) Hex'); input := iom; destination := equivocators_state_project IM eqv_pre s; output := oom |}
As a consequence of the equivocator_vlsm_trace_project_reflect_non_equivocating
lemma, if a message emmited by a trace cannot be observed in a projection
of the trace's final state, then it must be that it was emitted by one of
the nodes allowed to equivocate.
message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_observed IM Hbo sX m∀ item : composite_transition_item (equivocator_IM IM), item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_observed IM Hbo sX m∀ item : composite_transition_item (equivocator_IM IM), item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_observed IM Hbo sX m
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX∀ item : composite_transition_item (equivocator_IM IM), item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_observed IM Hbo sX m
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some mprojT1 (l item) ∈ equivocatingmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_observed IM Hbo sX m
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocatingprojT1 (l item) ∈ equivocatingmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
Hno: ¬ composite_has_been_observed IM Hbo sX m
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocatingcomposite_has_been_observed IM Hbo sX mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocatingcomposite_has_been_observed IM Hbo sX mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocatingcomposite_has_been_sent IM Hbs sX m ∨ composite_has_been_received IM Hbr sX mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocatingcomposite_has_been_sent IM Hbs sX mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocatingfinite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocating
HtrX_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXcomposite_has_been_sent IM Hbs sX mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocatingfinite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocatingfinite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX → finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Free:= free_composite_vlsm IM: VLSM message
is: _composite_state (equivocator_IM IM)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IMfinite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX → finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXapply vlsm_incl_pre_loaded_with_all_messages_vlsm.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Free:= free_composite_vlsm IM: VLSM message
is: _composite_state (equivocator_IM IM)
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IMVLSM_incl_part (composite_vlsm_machine IM (free_constraint IM)) (pre_loaded_with_all_messages_vlsm_machine Free)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocating
HtrX_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trXcomposite_has_been_sent IM Hbs sX mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
s:= finite_trace_last is tr: state
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors s
sX:= equivocators_state_project IM descriptors s: vstate (free_composite_vlsm IM)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocating
HtrX_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)composite_has_been_sent IM Hbs sX mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocating
HtrX_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)composite_has_been_sent IM Hbs (equivocators_state_project IM descriptors (finite_trace_last is tr)) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocating
HtrX_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)composite_has_been_sent IM Hbs (equivocators_state_project IM descriptors (finite_trace_last is tr)) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocating
HtrX_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)composite_has_been_sent IM Hbs (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocating
HtrX_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)selected_message_exists_in_all_preloaded_traces (free_composite_vlsm IM) (field_selector output) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocating
HtrX_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)selected_message_exists_in_some_preloaded_traces (free_composite_vlsm IM) (field_selector output) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
HtrX: finite_valid_trace (free_composite_vlsm IM) (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocating
HtrX_free: finite_valid_trace (pre_loaded_with_all_messages_vlsm Free) (equivocators_state_project IM initial_descriptors is) trX
Hfree_lst: valid_state_prop (pre_loaded_with_all_messages_vlsm Free) (finite_trace_last (equivocators_state_project IM initial_descriptors is) trX)trace_has_message (field_selector output) m trXapply equivocator_vlsm_trace_project_reflect_non_equivocating with is tr descriptors initial_descriptors item ; assumption. Qed.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
is: _composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace XE is tr
descriptors: equivocator_descriptors IM
Hproper: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
trX: list (composite_transition_item IM)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM descriptors tr = Some (trX, initial_descriptors)
Hlast_state: equivocators_state_project IM descriptors (finite_trace_last is tr) = finite_trace_last (equivocators_state_project IM initial_descriptors is) trX
item: composite_transition_item (equivocator_IM IM)
Hitem: item ∈ tr
Houtput: output item = Some m
n: projT1 (l item) ∉ equivocatingtrace_has_message (field_selector output) m trX
The next two lemmas are rather technical, but their basic meaning is that
if we take the composition of a subset of equivocators, it doesn't matter
the way we do it (either first obtain the indexed subset of nodes and then
transform that into equivocators and take their composition, or we first
start with the indexed full set of equivocators and then select a subset
of them and take their composition).
message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mVLSM_incl (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1) (composite_no_equivocation_vlsm_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mVLSM_incl (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1) (composite_no_equivocation_vlsm_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HmX: vinitial_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) mvalid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, om)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) omvvalid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
s': state
om': option message
H: input_valid_transition (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, om) (s', om')vtransition (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id l) (id s, om) = (id s', om')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HmX: vinitial_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) mvalid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HmX: vinitial_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) minitial_message_prop mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HmX: vinitial_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) mcomposite_initial_message_prop (equivocator_IM (sub_IM IM equivocating)) m ∨ seed2 mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
H: initial_message_prop mcomposite_initial_message_prop (equivocator_IM (sub_IM IM equivocating)) m ∨ seed2 mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
H: seed1 mcomposite_initial_message_prop (equivocator_IM (sub_IM IM equivocating)) m ∨ seed2 mleft; assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
H: initial_message_prop mcomposite_initial_message_prop (equivocator_IM (sub_IM IM equivocating)) m ∨ seed2 mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
H: seed1 mcomposite_initial_message_prop (equivocator_IM (sub_IM IM equivocating)) m ∨ seed2 mby apply Hseed12.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
H: seed1 mseed2 mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, om)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) omvvalid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, om)
Hc: no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1 l (s, om)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) omvvalid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, om)
Hc: no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1 l (s, om)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) omno_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2 (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, om)
Hc: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1 l (s, om)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) omno_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2 (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, om)
Hc: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1 l (s, om)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) omcomposite_no_equivocations_except_from (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2 (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
Hc: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1 l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)composite_no_equivocations_except_from (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2 (id l) (id s, Some m)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
Hc: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1 l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)composite_no_equivocations_except_from (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2 (id l) (id s, Some m)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
Hc: composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1 l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)composite_no_equivocations_except_from (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2 l (s, Some m)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
Hc: composite_has_been_sent (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (s, Some m).1 m
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)composite_no_equivocations_except_from (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2 l (s, Some m)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
Hc: composite_has_been_sent (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (s, Some m).1 m
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)composite_has_been_sent (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) (s, Some m).1 mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
subi: sub_index equivocating
Hibs: has_been_sent (sub_IM (equivocator_IM IM) equivocating subi) ((s, Some m).1 subi) m
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)composite_has_been_sent (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) (s, Some m).1 mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
subi: sub_index equivocating
Hibs: has_been_sent (sub_IM (equivocator_IM IM) equivocating subi) ((s, Some m).1 subi) m
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)has_been_sent (equivocator_IM (sub_IM IM equivocating) subi) ((s, Some m).1 subi) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)has_been_sent (sub_IM (equivocator_IM IM) equivocating subi) ((s, Some m).1 subi) m → has_been_sent (equivocator_IM (sub_IM IM equivocating) subi) ((s, Some m).1 subi) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM (sub_IM IM equivocating) subi)) ((s, Some m).1 subi)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)valid_state_prop (pre_loaded_with_all_messages_vlsm (equivocator_IM (sub_IM IM equivocating) subi)) (s subi)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)valid_state_prop (pre_loaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM (sub_IM IM equivocating)))) smessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM (sub_IM IM equivocating)))) sapply composite_pre_loaded_vlsm_incl_pre_loaded_with_all_messages.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: composite_valid (sub_IM (equivocator_IM IM) equivocating) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (Some m)VLSM_incl_part (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1) (pre_loaded_with_all_messages_vlsm_machine (free_composite_vlsm (equivocator_IM (sub_IM IM equivocating))))apply H. Qed.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
s': state
om': option message
H: input_valid_transition (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed1)))) seed1)) l (s, om) (s', om')vtransition (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed2)))) seed2)) (id l) (id s, om) = (id s', om')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mVLSM_incl (composite_no_equivocation_vlsm_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1) (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 mVLSM_incl (composite_no_equivocation_vlsm_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1) (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HmX: vinitial_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) mvalid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) l (s, om)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) omvvalid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
s': state
om': option message
H: input_valid_transition (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) l (s, om) (s', om')vtransition (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id l) (id s, om) = (id s', om')message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HmX: vinitial_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) mvalid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HmX: vinitial_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) minitial_message_prop mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HmX: vinitial_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) mcomposite_initial_message_prop (sub_IM (equivocator_IM IM) equivocating) m ∨ seed2 mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
H: seed1 mcomposite_initial_message_prop (sub_IM (equivocator_IM IM) equivocating) m ∨ seed2 mapply Hseed12; assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
H: seed1 mseed2 mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
Hv: input_valid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) l (s, om)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) omvvalid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, om)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1 l (s, om)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) omvvalid (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, om)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1 l (s, om)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) omno_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2 (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, om)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1 l (s, om)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) omcomposite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2 (id l) (id s, om)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1 l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2 (id l) (id s, Some m)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1 l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2 (id l) (id s, Some m)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
Hc: composite_no_equivocations_except_from (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1 l (s, Some m)
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2 l (s, Some m)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
Hc: composite_has_been_sent (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) (s, Some m).1 m
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)composite_no_equivocations_except_from (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2 l (s, Some m)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
Hc: composite_has_been_sent (equivocator_IM (sub_IM IM equivocating)) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) (s, Some m).1 m
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)composite_has_been_sent (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (s, Some m).1 mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
subi: sub_index equivocating
Hibs: has_been_sent (equivocator_IM (sub_IM IM equivocating) subi) ((s, Some m).1 subi) m
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)composite_has_been_sent (sub_IM (equivocator_IM IM) equivocating) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (s, Some m).1 mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
subi: sub_index equivocating
Hibs: has_been_sent (equivocator_IM (sub_IM IM equivocating) subi) ((s, Some m).1 subi) m
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)has_been_sent (sub_IM (equivocator_IM IM) equivocating subi) ((s, Some m).1 subi) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)has_been_sent (equivocator_IM (sub_IM IM equivocating) subi) ((s, Some m).1 subi) m → has_been_sent (sub_IM (equivocator_IM IM) equivocating subi) ((s, Some m).1 subi) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_IM (equivocator_IM IM) equivocating subi)) ((s, Some m).1 subi)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)valid_state_prop (pre_loaded_with_all_messages_vlsm (sub_IM (equivocator_IM IM) equivocating subi)) (s subi)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hs: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)valid_state_prop (pre_loaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM (sub_IM IM equivocating)))) smessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) s → valid_state_prop (pre_loaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM (sub_IM IM equivocating)))) sapply composite_pre_loaded_vlsm_incl_pre_loaded_with_all_messages.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
m: message
Hv: composite_valid (equivocator_IM (sub_IM IM equivocating)) l (s, Some m)
subi: sub_index equivocating
HsY: valid_state_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id s)
HomY: option_valid_message_prop (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (Some m)VLSM_incl_part (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1) (pre_loaded_with_all_messages_vlsm_machine (free_composite_vlsm (equivocator_IM (sub_IM IM equivocating))))apply H. Qed.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
seed1, seed2: message → Prop
Hseed12: ∀ m : message, seed1 m → seed2 m
l: label
s: state
om: option message
s': state
om': option message
H: input_valid_transition (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (equivocator_IM (sub_IM IM equivocating)) (no_equivocations_additional_constraint_with_pre_loaded (equivocator_IM (sub_IM IM equivocating)) (free_constraint (equivocator_IM (sub_IM IM equivocating))) (equivocator_Hbs (sub_IM IM equivocating) (sub_has_been_sent_capabilities IM equivocating Hbs)) seed1)))) seed1)) l (s, om) (s', om')vtransition (mk_vlsm (VLSMClass_pre_loaded_with_messages (projT2 (projT2 (composite_vlsm (sub_IM (equivocator_IM IM) equivocating) (no_equivocations_additional_constraint_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) seed2)))) seed2)) (id l) (id s, om) = (id s', om')
The intermediary results above allow us to prove that the
fixed_equivocation_constraint has the constraint_has_been_sent_property.
The core of this result is proving that given a valid_state
To prove that, we consider a trace witness for the mesage having been sent,
we use projection_has_not_been_observed_is_equivocating to derive that
it must have been sent by one of the machines allowed to equivocate, from this
we derive that it can be sent by the restriction of the composition of
equivocators to just the equivocating nodes, pre-loaded with the messages
observed in the projection, then we use
the seeded_equivocators_valid_trace_project result to reach our conclusion.
s of the
composition of equivocators with no message equivocation and fixed state
equivocation, a message which has_been_sent for that state but not
has_been_observed for a projection of that state sx, can nevertheless be
generated by the composition of the nodes allowed to equivocate, pre-loaded with
the messages observed in the state sx.
message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM messageconstraint_has_been_sent_prop (fixed_equivocation_constraint IM Hbs Hbr equivocating)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM messageconstraint_has_been_sent_prop (fixed_equivocation_constraint IM Hbs Hbr equivocating)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message∀ s : composite_state (equivocator_IM IM), valid_state_prop XE s → ∀ descriptors : equivocator_descriptors IM, proper_fixed_equivocator_descriptors descriptors s → ∀ m : message, has_been_sent FreeE s m → ∀ l : composite_label IM, fixed_equivocation_constraint IM Hbs Hbr equivocating l (equivocators_state_project IM descriptors s, Some m)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
l: composite_label IMfixed_equivocation_constraint IM Hbs Hbr equivocating l (equivocators_state_project IM descriptors s, Some m)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
l: composite_label IM
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors sfixed_equivocation_constraint IM Hbs Hbr equivocating l (sX, Some m)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
l: composite_label IM
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) m(* Phase I: exhibiting a [valid_trace] ending in tr s and sending m *)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: valid_state_prop XE s
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
Hs: ∃ (is : state) (tr : list transition_item), finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) m(* subst s *)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mfinite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s trcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mfinite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mfinite_valid_trace_init_to XE is s tr → finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mVLSM_incl_part (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) (pre_loaded_with_all_messages_vlsm_machine FreeE)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mVLSM_incl (mk_vlsm {| transition := composite_transition (equivocator_IM IM); valid := constrained_composite_valid (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating) |}) (mk_vlsm (machine FreeE))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mVLSM_incl (mk_vlsm (machine FreeE)) (mk_vlsm {| transition := vtransition FreeE; valid := vvalid FreeE |})apply (constraint_free_incl (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)).message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mVLSM_incl (mk_vlsm {| transition := composite_transition (equivocator_IM IM); valid := constrained_composite_valid (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating) |}) (mk_vlsm (machine FreeE))apply vlsm_incl_pre_loaded_with_all_messages_vlsm.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX mVLSM_incl (mk_vlsm (machine FreeE)) (mk_vlsm {| transition := vtransition FreeE; valid := vvalid FreeE |})message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s trcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s trvalid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) smessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hplst: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) scan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mapply valid_trace_last_pstate in Htr'pre; assumption.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s trvalid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) smessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: has_been_sent FreeE s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hplst: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) scan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: selected_message_exists_in_all_preloaded_traces FreeE (field_selector output) s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hplst: valid_state_prop (pre_loaded_with_all_messages_vlsm FreeE) scan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: selected_message_exists_in_all_preloaded_traces FreeE (field_selector output) s m
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s trcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) m(* Phase II (a): The restriction of tr to the equivocators allowed to state-equivocate is valid for the corresponding composition pre-loaded with the messages observed in the projection sX of s. *)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s trcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: ∀ (s : composite_state (equivocator_IM IM)) (tr : list (composite_transition_item (equivocator_IM IM))), trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) sX) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) s tr → finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating s) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) sX) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) sX) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) sX) trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) sX) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) sX) trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) (equivocators_state_project IM descriptors s)) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) (equivocators_state_project IM descriptors s))) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) (equivocators_state_project IM descriptors s)) trapply (equivocators_trace_sub_item_input_is_seeded_or_sub_previously_sent _ _ (valid_trace_forget_last Htr) descriptors Hdescriptors ).message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
Hm: trace_has_message (field_selector output) m tr
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) (equivocators_state_project IM descriptors s)) tr → finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) (equivocators_state_project IM descriptors s))) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)trace_sub_item_input_is_seeded_or_sub_previously_sent (equivocator_IM IM) equivocating (no_additional_equivocations (free_composite_vlsm IM) (equivocators_state_project IM descriptors (finite_trace_last is tr))) trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_vlsm (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) is tr → finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo sX m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: vstate (free_composite_vlsm IM)
HeqsX: sX = equivocators_state_project IM descriptors s
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) m(* Phase III (a): Obtain a projection trXm of tr outputing m using a final_descriptor_m *)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: trace_has_message (field_selector output) m tr
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
Hm: ∃ (final_descriptors initial_descriptors : equivocator_descriptors IM) (trX : list (composite_transition_item IM)), not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last is tr) ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ Exists (field_selector output m) trX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) m(* Identify the item outputing m in trXm an its corresponding item in tr. *)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
Hex: Exists (field_selector output m) trXm
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
Hex: ∃ x : transition_item, x ∈ trXm ∧ field_selector output m x
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
Hin: output_itemX ∈ trXm
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
Hin: ∃ l1 l2 : list transition_item, trXm = l1 ++ output_itemX :: l2
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ output_itemX :: sufX
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
Hpr_item: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
Hpr_item: equivocators_trace_project IM final_descriptors_m tr = Some (preX ++ [output_itemX] ++ sufX, initial_descriptors_m)can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
Hpr_item: ∃ (pre suf : list (composite_transition_item (equivocator_IM IM))) (item : composite_transition_item (equivocator_IM IM)) (item_descriptors pre_descriptors : equivocator_descriptors IM), equivocators_trace_project IM final_descriptors_m suf = Some (sufX, item_descriptors) ∧ equivocators_transition_item_project IM item_descriptors item = Some (Some output_itemX, pre_descriptors) ∧ equivocators_trace_project IM pre_descriptors pre = Some (preX, initial_descriptors_m) ∧ tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
item_descriptors, pre_descriptors: equivocator_descriptors IM
Hpr_item: equivocators_transition_item_project IM item_descriptors item = Some (Some output_itemX, pre_descriptors)
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
item_descriptors, pre_descriptors: equivocator_descriptors IM
Hpr_item: match equivocator_vlsm_transition_item_project (IM (projT1 (l item))) (composite_transition_item_projection (equivocator_IM IM) item) (item_descriptors (projT1 (l item))) with | Some (Some item', deqv') => Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') | Some (None, deqv') => Some (None, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') | None => None end = Some (Some output_itemX, pre_descriptors)
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
item_descriptors, pre_descriptors: equivocator_descriptors IM
o: option (vtransition_item (IM (projT1 (l item))))
deqv': MachineDescriptor (IM (projT1 (l item)))
Hpr_item: match o with | Some item' => Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') | None => Some (None, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') end = Some (Some output_itemX, pre_descriptors)
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
item_descriptors, pre_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
deqv': MachineDescriptor (IM (projT1 (l item)))
Hpr_item: Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') = Some (Some output_itemX, pre_descriptors)
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
output_itemX: transition_item
preX, sufX: list transition_item
Heq_trXm: trXm = preX ++ [output_itemX] ++ sufX
Houtput_select: field_selector output m output_itemX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
item: composite_transition_item (equivocator_IM IM)
item_descriptors, pre_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
deqv': MachineDescriptor (IM (projT1 (l item)))
Hpr_item: Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') = Some (Some output_itemX, pre_descriptors)
Heqtr: tr = pre ++ [item] ++ suf
H0: {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |} = output_itemX
H1: equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv' = pre_descriptorscan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: field_selector output m {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
deqv': MachineDescriptor (IM (projT1 (l item)))
Hpr_item: Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv') = Some (Some {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}, equivocator_descriptors_update IM item_descriptors (projT1 (l item)) deqv')
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: field_selector output m {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) m(* show that that item must be specifying a transition for an equivocating node*)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors s
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors s) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors (finite_trace_last is tr)) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ sufcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
Hdescriptors: proper_fixed_equivocator_descriptors descriptors (finite_trace_last is tr)
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
n: ¬ composite_has_been_observed IM Hbo (equivocators_state_project IM descriptors (finite_trace_last is tr)) m
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingitem ∈ trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: output item = Some m → projT1 (l item) ∈ equivocatingcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: item ∈ tr → output item = Some m → projT1 (l item) ∈ equivocatingitem ∈ trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Hproject_trXm: equivocators_trace_project IM final_descriptors_m (pre ++ [item] ++ suf) = Some (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX, initial_descriptors_m)
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating (pre ++ [item] ++ suf))
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s (pre ++ [item] ++ suf)
Hitem_equivocating: item ∈ pre ++ [item] ++ suf → output item = Some m → projT1 (l item) ∈ equivocatingitem ∈ pre ++ [item] ++ sufmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Hproject_trXm: equivocators_trace_project IM final_descriptors_m (pre ++ [item] ++ suf) = Some (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX, initial_descriptors_m)
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating (pre ++ [item] ++ suf))
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s (pre ++ [item] ++ suf)
Hitem_equivocating: item ∈ pre ++ [item] ++ suf → output item = Some m → projT1 (l item) ∈ equivocatingitem ∈ pre ∨ item ∈ [item] ∨ item ∈ sufmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Hproject_trXm: equivocators_trace_project IM final_descriptors_m (pre ++ [item] ++ suf) = Some (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX, initial_descriptors_m)
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating (pre ++ [item] ++ suf))
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s (pre ++ [item] ++ suf)
Hitem_equivocating: item ∈ pre ++ [item] ++ suf → output item = Some m → projT1 (l item) ∈ equivocatingitem ∈ [item] ∨ item ∈ sufleft.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Hproject_trXm: equivocators_trace_project IM final_descriptors_m (pre ++ [item] ++ suf) = Some (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX, initial_descriptors_m)
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating (pre ++ [item] ++ suf))
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s (pre ++ [item] ++ suf)
Hitem_equivocating: item ∈ pre ++ [item] ++ suf → output item = Some m → projT1 (l item) ∈ equivocatingitem ∈ [item]message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: output item = Some m → projT1 (l item) ∈ equivocatingcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) m(* Phase III (b): Consider a projection trX' obtained using the final_descriptor_m as above, but first restricting the nodes to just the equivocators allowed to equivocate. We will show that we can use [seeded_equivocators_valid_trace_project] and leverage the result from Phase II (a) to derive that the resulting projection is valid. *)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocatingcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) → ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), let isX := equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) in let final_stateX := finite_trace_last isX trX in proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = final_stateX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, no_additional_equivocations (free_composite_vlsm IM) sX m)) isX trXcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) → ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = finite_trace_last (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trXcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) → ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = finite_trace_last (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trXproper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = finite_trace_last (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trXcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) → ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = finite_trace_last (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trXproper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) → ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = finite_trace_last (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX
Heq_lst: let lstx := finite_trace_last is tr in let lstj := finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) in lstj = composite_state_sub_projection (equivocator_IM IM) equivocating lstxproper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) → ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = finite_trace_last (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX
Heq_lst: finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = composite_state_sub_projection (equivocator_IM IM) equivocating (finite_trace_last is tr)proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) → ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = finite_trace_last (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX
Heq_lst: finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = composite_state_sub_projection (equivocator_IM IM) equivocating (finite_trace_last is tr)proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (composite_state_sub_projection (equivocator_IM IM) equivocating (finite_trace_last is tr))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) → ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = finite_trace_last (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX
Heq_lst: finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = composite_state_sub_projection (equivocator_IM IM) equivocating (finite_trace_last is tr)
e: sub_index equivocatingproper_descriptor (sub_IM IM equivocating e) (final_descriptors_m (`e)) (composite_state_sub_projection (equivocator_IM IM) equivocating (finite_trace_last is tr) e)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) → ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = finite_trace_last (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX
Heq_lst: finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = composite_state_sub_projection (equivocator_IM IM) equivocating (finite_trace_last is tr)
x: index
i: bool_decide (sub_index_prop equivocating x)proper_descriptor (sub_IM IM equivocating (x ↾ i)) (final_descriptors_m (`(x ↾ i))) (composite_state_sub_projection (equivocator_IM IM) equivocating (finite_trace_last is tr) (x ↾ i))apply Hfinal_descriptors_m.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: proper_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: proper_equivocator_descriptors (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) → ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = finite_trace_last (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX
Heq_lst: finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = composite_state_sub_projection (equivocator_IM IM) equivocating (finite_trace_last is tr)
x: index
i: bool_decide (sub_index_prop equivocating x)proper_descriptor (sub_IM IM equivocating (x ↾ i)) (final_descriptors_m (`(x ↾ i))) (composite_state_sub_projection (equivocator_IM IM) equivocating (finite_trace_last is tr) (x ↾ i))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
Hsub_project: ∃ (trX : list (composite_transition_item (sub_IM IM equivocating))) (initial_descriptors : equivocator_descriptors (sub_IM IM equivocating)), proper_equivocator_descriptors (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is) ∧ equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX, initial_descriptors) ∧ equivocators_state_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_last (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)) = finite_trace_last (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX ∧ finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trXcan_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
Htr'pre: finite_valid_trace_init_to (pre_loaded_with_all_messages_vlsm FreeE) is s tr
Hproject: finite_valid_trace (composite_no_equivocation_vlsm_with_pre_loaded (sub_IM (equivocator_IM IM) equivocating) (free_constraint (sub_IM (equivocator_IM IM) equivocating)) (sub_has_been_sent_capabilities (equivocator_IM IM) equivocating (equivocator_Hbs IM Hbs)) (no_additional_equivocations (free_composite_vlsm IM) sX)) (composite_state_sub_projection (equivocator_IM IM) equivocating is) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (sub_IM IM equivocating))
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
Hpr_tr': equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX', initial_descriptors')
HtrX: finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX'can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) m(* State that by restricting trXm to the subset of equivocating nodes we obtain the same trX' trace. *)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (sub_IM IM equivocating))
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
Hpr_tr': equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX', initial_descriptors')
HtrX: finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX'can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
Hproject_trXm: equivocators_trace_project IM final_descriptors_m tr = Some (trXm, initial_descriptors_m)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (sub_IM IM equivocating))
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
Hpr_tr': equivocators_trace_project (sub_IM IM equivocating) (λ i : sub_index equivocating, final_descriptors_m (`i)) (finite_trace_sub_projection (equivocator_IM IM) equivocating tr) = Some (trX', initial_descriptors')
HtrX: finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX'
HeqtrX: finite_trace_sub_projection IM equivocating trXm = trX'can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) m(* reduce the goal to showing that the message appears in trX'. *)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (sub_IM IM equivocating))
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
HtrX: finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) (equivocators_state_project (sub_IM IM equivocating) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) equivocating is)) trX'
HeqtrX: finite_trace_sub_projection IM equivocating trXm = trX'can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (sub_IM IM equivocating))
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))
HeqisX: isX = equivocators_state_project (sub_IM IM equivocating) initial_descriptors' (composite_state_sub_projection (equivocator_IM IM) equivocating is)
HtrX: finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) isX trX'
HeqtrX: finite_trace_sub_projection IM equivocating trXm = trX'can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (sub_IM IM equivocating))
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))
HtrX: finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) isX trX'
HeqtrX: finite_trace_sub_projection IM equivocating trXm = trX'can_emit (equivocators_composition_for_observed IM Hbs Hbr equivocating sX) mmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (sub_IM IM equivocating))
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))
HtrX: finite_valid_trace (pre_loaded_vlsm (free_composite_vlsm (sub_IM IM equivocating)) (λ m : message, composite_has_been_observed IM Hbo sX m)) isX trX'
HeqtrX: finite_trace_sub_projection IM equivocating trXm = trX'trace_has_message (field_selector output) m trX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
tr: list transition_item
Htr: finite_valid_trace_init_to XE is s tr
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
trXm: list (composite_transition_item IM)
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is tr)
preX, sufX: list transition_item
item: composite_transition_item (equivocator_IM IM)
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
Heq_trXm: trXm = preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX
sX: vstate (free_composite_vlsm IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Heqtr: tr = pre ++ [item] ++ suf
Hitem_equivocating: projT1 (l item) ∈ equivocating
trX': list (composite_transition_item (sub_IM IM equivocating))
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))
HeqtrX: finite_trace_sub_projection IM equivocating trXm = trX'trace_has_message (field_selector output) m trX'message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))trace_has_message (field_selector output) m (finite_trace_sub_projection IM equivocating (preX ++ [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ sufX))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))trace_has_message (field_selector output) m (finite_trace_sub_projection IM equivocating preX ++ finite_trace_sub_projection IM equivocating [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ finite_trace_sub_projection IM equivocating sufX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))Exists (field_selector output m) (finite_trace_sub_projection IM equivocating preX ++ finite_trace_sub_projection IM equivocating [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}] ++ finite_trace_sub_projection IM equivocating sufX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))Exists (field_selector output m) (finite_trace_sub_projection IM equivocating preX) ∨ Exists (field_selector output m) (finite_trace_sub_projection IM equivocating [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}]) ∨ Exists (field_selector output m) (finite_trace_sub_projection IM equivocating sufX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))Exists (field_selector output m) (finite_trace_sub_projection IM equivocating [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}]) ∨ Exists (field_selector output m) (finite_trace_sub_projection IM equivocating sufX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))Exists (field_selector output m) (finite_trace_sub_projection IM equivocating [{| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}])message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))Exists (field_selector output m) match pre_VLSM_projection_transition_item_project (composite_type IM) (composite_type (sub_IM IM equivocating)) (composite_label_sub_projection_option IM equivocating) (composite_state_sub_projection IM equivocating) {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |} with | Some b => [b] | None => [] endmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))Exists (field_selector output m) match match match decide (projT1 (l {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}) ∈ equivocating) with | left i_in => Some (composite_label_sub_projection IM equivocating (l {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}) i_in) | right _ => None end with | Some lY => Some {| l := lY; input := input {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}; destination := composite_state_sub_projection IM equivocating (destination {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |}); output := output {| l := existT (projT1 (l item)) (l item'); input := input item; destination := equivocators_state_project IM item_descriptors (destination item); output := output item |} |} | None => None end with | Some b => [b] | None => [] endmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))Exists (field_selector output m) match match match decide (projT1 (l item) ∈ equivocating) with | left i_in => Some (composite_label_sub_projection IM equivocating (existT (projT1 (l item)) (l item')) i_in) | right _ => None end with | Some lY => Some {| l := lY; input := input item; destination := composite_state_sub_projection IM equivocating (equivocators_state_project IM item_descriptors (destination item)); output := output item |} | None => None end with | Some b => [b] | None => [] endmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))
H: projT1 (l item) ∈ equivocatingExists (field_selector output m) [{| l := composite_label_sub_projection IM equivocating (existT (projT1 (l item)) (l item')) H; input := input item; destination := composite_state_sub_projection IM equivocating (equivocators_state_project IM item_descriptors (destination item)); output := output item |}]message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))
H: projT1 (l item) ∈ equivocatingfield_selector output m {| l := composite_label_sub_projection IM equivocating (existT (projT1 (l item)) (l item')) H; input := input item; destination := composite_state_sub_projection IM equivocating (equivocators_state_project IM item_descriptors (destination item)); output := output item |}assumption. Qed.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
s: composite_state (equivocator_IM IM)
is: state
item: composite_transition_item (equivocator_IM IM)
pre, suf: list (composite_transition_item (equivocator_IM IM))
Htr: finite_valid_trace_init_to XE is s (pre ++ [item] ++ suf)
descriptors: equivocator_descriptors IM
m: message
final_descriptors_m, initial_descriptors_m: equivocator_descriptors IM
Hfinal_descriptors_m: not_equivocating_equivocator_descriptors IM final_descriptors_m (finite_trace_last is (pre ++ [item] ++ suf))
preX, sufX: list transition_item
item_descriptors: equivocator_descriptors IM
item': vtransition_item (IM (projT1 (l item)))
Houtput_select: output item = Some m
sX: vstate (free_composite_vlsm IM)
Hitem_equivocating: projT1 (l item) ∈ equivocating
initial_descriptors': equivocator_descriptors (sub_IM IM equivocating)
isX: vstate (free_composite_vlsm (sub_IM IM equivocating))
H: projT1 (l item) ∈ equivocatingoutput item = Some m
Main result of this section, stating that traces which are valid for the
equivocator-based definition of fixed equivocation project to traces which are
valid for the simple-nodes definition of fixed equivocation.
message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr∃ (trX : list (composite_transition_item IM)) (initial_descriptors : equivocator_descriptors IM), let isX := equivocators_state_project IM initial_descriptors is in let final_stateX := finite_trace_last isX trX in proper_fixed_equivocator_descriptors initial_descriptors is ∧ equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors) ∧ equivocators_state_project IM final_descriptors final_state = final_stateX ∧ finite_valid_trace X isX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
l: composite_label IM
s: composite_state IMfixed_equivocation_constraint IM Hbs Hbr equivocating l (s, None)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is trconstraint_has_been_sent_prop (fixed_equivocation_constraint IM Hbs Hbr equivocating)exact I.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is tr
l: composite_label IM
s: composite_state IMfixed_equivocation_constraint IM Hbs Hbr equivocating l (s, None)apply fixed_equivocation_constraint_has_constraint_has_been_sent_prop. Qed.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
is: composite_state (equivocator_IM IM)
tr: list (composite_transition_item (equivocator_IM IM))
final_state:= finite_trace_last is tr: state
Hproper: proper_fixed_equivocator_descriptors final_descriptors final_state
Htr: finite_valid_trace XE is trconstraint_has_been_sent_prop (fixed_equivocation_constraint IM Hbs Hbr equivocating)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IMVLSM_partial_projection XE X (equivocators_partial_trace_project IM finite_index final_descriptors)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IMVLSM_partial_projection XE X (equivocators_partial_trace_project IM finite_index final_descriptors)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM∀ (sX : vstate XE) (trX : list (vtransition_item XE)) (sY : vstate X) (trY : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (sX, trX) = Some (sY, trY) → ∀ (s'X : state) (preX : list transition_item), finite_trace_last s'X preX = sX → finite_valid_trace_from XE s'X (preX ++ trX) → ∃ (s'Y : vstate X) (preY : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (s'X, preX ++ trX) = Some (s'Y, preY ++ trY) ∧ finite_trace_last s'Y preY = sYmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM∀ (sX : vstate XE) (trX : list (vtransition_item XE)) (sY : vstate X) (trY : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (sX, trX) = Some (sY, trY) → finite_valid_trace XE sX trX → finite_valid_trace X sY trYmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM∀ (sX : vstate XE) (trX : list (vtransition_item XE)) (sY : vstate X) (trY : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (sX, trX) = Some (sY, trY) → ∀ (s'X : state) (preX : list transition_item), finite_trace_last s'X preX = sX → finite_valid_trace_from XE s'X (preX ++ trX) → ∃ (s'Y : vstate X) (preY : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (s'X, preX ++ trX) = Some (s'Y, preY ++ trY) ∧ finite_trace_last s'Y preY = sYmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
s_pre: state
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
Hpre_tr: finite_valid_trace_from XE s_pre (pre ++ tr)∃ (s'Y : vstate X) (preY : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (s_pre, pre ++ tr) = Some (s'Y, preY ++ trX) ∧ finite_trace_last s'Y preY = sXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
s_pre: state
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
Hpre_tr: finite_valid_trace_from XE s_pre (pre ++ tr)finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) s_pre (pre ++ tr)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
s_pre: state
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
Hpre_tr: finite_valid_trace_from XE s_pre (pre ++ tr)
HPreFree_pre_tr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) s_pre (pre ++ tr)∃ (s'Y : vstate X) (preY : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (s_pre, pre ++ tr) = Some (s'Y, preY ++ trX) ∧ finite_trace_last s'Y preY = sXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
s_pre: state
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
Hpre_tr: finite_valid_trace_from XE s_pre (pre ++ tr)finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) s_pre (pre ++ tr)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
s_pre: state
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = sfinite_valid_trace_from XE s_pre (pre ++ tr) → finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) s_pre (pre ++ tr)apply equivocators_fixed_equivocations_vlsm_incl_PreFree.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
s_pre: state
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = sVLSM_incl_part (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) (pre_loaded_with_all_messages_vlsm_machine FreeE)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
s_pre: state
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
Hpre_tr: finite_valid_trace_from XE s_pre (pre ++ tr)
HPreFree_pre_tr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) s_pre (pre ++ tr)∃ (s'Y : vstate X) (preY : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (s_pre, pre ++ tr) = Some (s'Y, preY ++ trX) ∧ finite_trace_last s'Y preY = sXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
s_pre: state
pre: list transition_item
Hs_lst: finite_trace_last s_pre pre = s
HPreFree_pre_tr: finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) s_pre (pre ++ tr)∃ (s'Y : vstate X) (preY : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (s_pre, pre ++ tr) = Some (s'Y, preY ++ trX) ∧ finite_trace_last s'Y preY = sXapply equivocators_partial_trace_project_extends_left.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM∀ (s : vstate XE) (tr : list (vtransition_item XE)) (sX : vstate X) (trX : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX) → ∀ (s_pre : state) (pre : list transition_item), finite_trace_last s_pre pre = s → finite_valid_trace_from (pre_loaded_with_all_messages_vlsm FreeE) s_pre (pre ++ tr) → ∃ (s'Y : vstate X) (preY : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (s_pre, pre ++ tr) = Some (s'Y, preY ++ trX) ∧ finite_trace_last s'Y preY = sXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM∀ (sX : vstate XE) (trX : list (vtransition_item XE)) (sY : vstate X) (trY : list (vtransition_item X)), equivocators_partial_trace_project IM finite_index final_descriptors (sX, trX) = Some (sY, trY) → finite_valid_trace XE sX trX → finite_valid_trace X sY trYmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s trfinite_valid_trace X sX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
Hs_project: equivocators_state_project IM initial_descriptors s = sXfinite_valid_trace X sX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
Hs_project: equivocators_state_project IM initial_descriptors s = sX
Hlst: valid_state_prop XE (finite_trace_last s tr)finite_valid_trace X sX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last s tr)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
Hs_project: equivocators_state_project IM initial_descriptors s = sX
Hlst: valid_state_prop XE (finite_trace_last s tr)finite_valid_trace X sX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last s tr)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
Hs_project: equivocators_state_project IM initial_descriptors s = sX
Hlst: valid_state_prop XE (finite_trace_last s tr)
_trX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: equivocators_trace_project IM final_descriptors tr = Some (_trX, _initial_descriptors)
HtrX: finite_valid_trace X (equivocators_state_project IM _initial_descriptors s) _trXfinite_valid_trace X sX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last s tr)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
Hs_project: equivocators_state_project IM initial_descriptors s = sX
Hlst: valid_state_prop XE (finite_trace_last s tr)
_trX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: Some (trX, initial_descriptors) = Some (_trX, _initial_descriptors)
HtrX: finite_valid_trace X (equivocators_state_project IM _initial_descriptors s) _trXfinite_valid_trace X sX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
sX: vstate X
trX: list (vtransition_item X)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (sX, trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last s tr)
initial_descriptors: equivocator_descriptors IM
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (trX, initial_descriptors)
Hs_project: equivocators_state_project IM initial_descriptors s = sX
Hlst: valid_state_prop XE (finite_trace_last s tr)
_trX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: Some (trX, initial_descriptors) = Some (_trX, _initial_descriptors)
HtrX: finite_valid_trace X (equivocators_state_project IM _initial_descriptors s) _trX
H0: trX = _trX
H1: initial_descriptors = _initial_descriptorsfinite_valid_trace X sX _trXassumption. Qed.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
final_descriptors: equivocator_descriptors IM
s: vstate XE
tr: list (vtransition_item XE)
_trX: list (composite_transition_item IM)
_initial_descriptors: equivocator_descriptors IM
_Htr_project: Some (_trX, _initial_descriptors) = Some (_trX, _initial_descriptors)
Hpr_tr: equivocators_partial_trace_project IM finite_index final_descriptors (s, tr) = Some (equivocators_state_project IM _initial_descriptors s, _trX)
Htr: finite_valid_trace XE s tr
Hnot_equiv: not_equivocating_equivocator_descriptors IM final_descriptors (finite_trace_last s tr)
Hproper: proper_fixed_equivocator_descriptors final_descriptors (finite_trace_last s tr)
Htr_project: equivocators_trace_project IM final_descriptors tr = Some (_trX, _initial_descriptors)
Hlst: valid_state_prop XE (finite_trace_last s tr)
HtrX: finite_valid_trace X (equivocators_state_project IM _initial_descriptors s) _trXfinite_valid_trace X (equivocators_state_project IM _initial_descriptors s) _trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM messageVLSM_projection XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM messageVLSM_projection XE X (equivocators_total_label_project IM) (equivocators_total_state_project IM)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace_from XE sX trXequivocators_total_state_project IM (finite_trace_last sX trX) = finite_trace_last (equivocators_total_state_project IM sX) (pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trXfinite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace_from XE sX trXequivocators_total_state_project IM (finite_trace_last sX trX) = finite_trace_last (equivocators_total_state_project IM sX) (pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace_from XE sX trXfinite_valid_trace_from (pre_loaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM))) sX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_itemfinite_valid_trace_from XE sX trX → finite_valid_trace_from (pre_loaded_with_all_messages_vlsm (free_composite_vlsm (equivocator_IM IM))) sX trXapply equivocators_fixed_equivocations_vlsm_incl_PreFree.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_itemVLSM_incl_part (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) (pre_loaded_with_all_messages_vlsm_machine (free_composite_vlsm (equivocator_IM IM)))message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trXfinite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trXfinite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trX
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trXfinite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trXfinite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trXmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_itemfinite_valid_trace XE sX trX → finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trXapply equivocators_fixed_equivocations_vlsm_incl_PreFree.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_itemVLSM_incl_part (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing equivocating)) (pre_loaded_with_all_messages_vlsm_machine FreeE)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trX
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trXfinite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trX
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: equivocators_partial_trace_project IM finite_index (zero_descriptor IM) (sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) → finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)finite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trX
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: equivocators_partial_trace_project IM finite_index (zero_descriptor IM) (sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) → finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)equivocators_partial_trace_project IM finite_index (zero_descriptor IM) (sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trX
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)finite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trX
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: equivocators_partial_trace_project IM finite_index (zero_descriptor IM) (sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) → finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)equivocators_partial_trace_project IM finite_index (zero_descriptor IM) (sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trX
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: equivocators_partial_trace_project IM finite_index (zero_descriptor IM) (sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) → finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)(if decide (not_equivocating_equivocator_descriptors IM (zero_descriptor IM) (finite_trace_last sX trX)) then match equivocators_trace_project IM (zero_descriptor IM) trX with | Some (trX, initial_descriptors) => Some (equivocators_state_project IM initial_descriptors sX, trX) | None => None end else None) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trX
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: equivocators_partial_trace_project IM finite_index (zero_descriptor IM) (sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) → finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)match equivocators_trace_project IM (zero_descriptor IM) trX with | Some (trX, initial_descriptors) => Some (equivocators_state_project IM initial_descriptors sX, trX) | None => None end = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX)reflexivity.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trX
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: equivocators_partial_trace_project IM finite_index (zero_descriptor IM) (sX, trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) → finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX) = Some (equivocators_state_project IM (zero_descriptor IM) sX, equivocators_total_trace_project IM trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace XE sX trX
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)finite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)finite_valid_trace X (equivocators_total_state_project IM sX) (pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX)message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
tr: list transition_item
Heqtr: tr = pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trXfinite_valid_trace X (equivocators_total_state_project IM sX) trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
tr: list transition_item
Heqtr: tr = pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trXequivocators_total_trace_project IM trX = trmessage: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)equivocators_total_trace_project IM trX = pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trXapply (equivocators_total_VLSM_projection_trace_project IM (proj1 Hpre_tr)). Qed. End from_equivocators_to_nodes. Section all_equivocating.message: Type
EqDecision0: EqDecision message
index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
Hbr: ∀ i : index, HasBeenReceivedCapability (IM i)
Hbo:= λ i : index, HasBeenObservedCapability_from_sent_received (IM i): ∀ i : index, HasBeenObservedCapability (IM i)
equivocating: set index
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing equivocating: VLSM message
X:= fixed_equivocation_vlsm_composition IM Hbs Hbr equivocating: VLSM message
equivocators_free_Hbs:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability (free_composite_vlsm (equivocator_IM IM))
FreeE:= free_composite_vlsm (equivocator_IM IM): VLSM message
FreeE_HasBeenSentCapability:= free_composite_HasBeenSentCapability (equivocator_IM IM) finite_index (equivocator_Hbs IM Hbs): HasBeenSentCapability FreeE
Hdec_init: ∀ i : index, vdecidable_initial_messages_prop (IM i)
Free:= free_composite_vlsm IM: VLSM message
Free_HasBeenSentCapability:= free_composite_HasBeenSentCapability IM finite_index Hbs: HasBeenSentCapability Free
Free_HasBeenReceivedCapability:= free_composite_HasBeenReceivedCapability IM finite_index Hbr: HasBeenReceivedCapability Free
Free_HasBeenObservedCapability:= free_composite_HasBeenObservedCapability IM finite_index Hbo: HasBeenObservedCapability Free
Free_no_additional_equivocation_decidable:= no_additional_equivocations_dec Free: RelDecision (no_additional_equivocations Free)
index_equivocating_prop:= sub_index_prop equivocating: index → Prop
equivocating_index:= sub_index equivocating: Type
equivocating_IM:= sub_IM IM equivocating: sub_index equivocating → VLSM message
free_equivocating_vlsm_composition:= free_composite_vlsm equivocating_IM: VLSM message
sub_equivocator_IM:= sub_IM (equivocator_IM IM) equivocating: sub_index equivocating → VLSM message
sX: state
trX: list transition_item
H: finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)
Hpre_tr: finite_valid_trace (pre_loaded_with_all_messages_vlsm FreeE) sX trX
Hsim: finite_valid_trace XE sX trX → finite_valid_trace X (equivocators_state_project IM (zero_descriptor IM) sX) (equivocators_total_trace_project IM trX)pre_VLSM_projection_trace_project (type XE) (type X) (equivocators_total_label_project IM) (equivocators_total_state_project IM) trX = equivocators_total_trace_project IM trX
Fixed Equivocation for all Equivocators
Context {message : Type} {index : Type} {IndEqDec : EqDecision index} (IM : index -> VLSM message) (Hbs : forall i : index, HasBeenSentCapability (IM i)) {index_listing : list index} (finite_index : Listing index_listing) (XE : VLSM message := equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing) (NE : VLSM message := equivocators_no_equivocations_vlsm IM Hbs) .message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messagestrong_constraint_subsumption (equivocator_IM IM) (equivocators_no_equivocations_constraint IM Hbs) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messagestrong_constraint_subsumption (equivocator_IM IM) (equivocators_no_equivocations_constraint IM Hbs) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM message
l: composite_label (equivocator_IM IM)
som: (composite_state (equivocator_IM IM) * option message)%type
H: equivocators_no_equivocations_constraint IM Hbs l somstate_has_fixed_equivocation IM index_listing index_listing (composite_transition (equivocator_IM IM) l som).1message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM message
l: composite_label (equivocator_IM IM)
som: (composite_state (equivocator_IM IM) * option message)%type
H: equivocators_no_equivocations_constraint IM Hbs l som
x: index
H0: x ∈ equivocating_indices IM index_listing (composite_transition (equivocator_IM IM) l som).1x ∈ index_listingapply finite_index. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM message
l: composite_label (equivocator_IM IM)
som: (composite_state (equivocator_IM IM) * option message)%type
H: equivocators_no_equivocations_constraint IM Hbs l som
x: index
H0: x ∈ equivocating_indices IM index_listing (composite_transition (equivocator_IM IM) l som).1In x index_listingmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messagestrong_constraint_subsumption (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing) (equivocators_no_equivocations_constraint IM Hbs)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messagestrong_constraint_subsumption (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing) (equivocators_no_equivocations_constraint IM Hbs)apply Hv. Qed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM message
l: composite_label (equivocator_IM IM)
s: composite_state (equivocator_IM IM)
om: option message
Hv: equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing l (s, om)equivocators_no_equivocations_constraint IM Hbs l (s, om)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messageVLSM_eq XE NEmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messageVLSM_eq XE NEmessage, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messageVLSM_incl (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing))) (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_no_equivocations_constraint IM Hbs))) ∧ VLSM_incl (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_no_equivocations_constraint IM Hbs))) (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing)))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messageVLSM_incl (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing))) (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_no_equivocations_constraint IM Hbs)))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messageVLSM_incl (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_no_equivocations_constraint IM Hbs))) (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing)))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messageVLSM_incl (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing))) (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_no_equivocations_constraint IM Hbs)))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messageinput_valid_constraint_subsumption (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing) (equivocators_no_equivocations_constraint IM Hbs)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messagepreloaded_constraint_subsumption (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing) (equivocators_no_equivocations_constraint IM Hbs)apply strong_constraint_subsumption_all_fixed.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messagestrong_constraint_subsumption (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing) (equivocators_no_equivocations_constraint IM Hbs)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messageVLSM_incl (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_no_equivocations_constraint IM Hbs))) (mk_vlsm (composite_vlsm_machine (equivocator_IM IM) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing)))message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messageinput_valid_constraint_subsumption (equivocator_IM IM) (equivocators_no_equivocations_constraint IM Hbs) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing)message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messagepreloaded_constraint_subsumption (equivocator_IM IM) (equivocators_no_equivocations_constraint IM Hbs) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing)apply strong_constraint_subsumption_fixed_all. Qed. End all_equivocating.message, index: Type
IndEqDec: EqDecision index
IM: index → VLSM message
Hbs: ∀ i : index, HasBeenSentCapability (IM i)
index_listing: list index
finite_index: Listing index_listing
XE:= equivocators_fixed_equivocations_vlsm IM Hbs index_listing index_listing: VLSM message
NE:= equivocators_no_equivocations_vlsm IM Hbs: VLSM messagestrong_constraint_subsumption (equivocator_IM IM) (equivocators_no_equivocations_constraint IM Hbs) (equivocators_fixed_equivocations_constraint IM Hbs index_listing index_listing)